java - 如何忽略 Solr 索引中的某些 HTML 部分(例如页眉、菜单、页脚)?

标签 java solr lucene

我一直在使用 Nutch + Solr (4.3.0) 来索引站点,并使用 Nutch 提供的 schema.xml。

我的问题是,当我进行的搜索包含标题或菜单上出现的某些单词时,Solr 显然会响应所有页面。

我想要的是从索引中删除这些 HTML block ,以便搜索不包含那些“误报”。

我正在尝试类似的事情:

<charFilter class="solr.PatternReplaceCharFilterFactory" 
      pattern="HEADER STARTS(.*?)HEADER ENDS" replacement="" />

应用于我的内容fieldType的索引分析器,即“HEADER STARTS/ENDS”HTML注释,但它似乎根本没有效果。

我无法找到更好的谷歌搜索...但我是这个技术堆栈的真正新手。

欢迎任何帮助!

谢谢!!!

最佳答案

您可以看看boilerpipe 。它是一个专门适合该问题的 java 库。我在一个项目中使用效果很好,但是我用的是普通的Lucene。对于 Solr 集成,有 an open issue

关于java - 如何忽略 Solr 索引中的某些 HTML 部分(例如页眉、菜单、页脚)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16906695/

相关文章:

java - 类文件版本 57.0,该版本的 Java 运行时仅识别 52.0 以下的类文件版本

solr - 如何增强solr中的字段

solr - 如何选择字段类型过滤器(例如德语)

java - Lucene 从网络请求中写入

java - Android Firebase 推送通知自定义声音不起作用

java - 无法让 Activity 通过接口(interface)与 Fragment 进行通信

Solr 过滤嵌套文档中的多个子项

php - 使用 Solr Lucene 索引不同类型的实体/对象

java - 如何找到主要的 Lucene 源代码

java - 在 session 中更改 java bean 中的某些属性