【问题标题】:Using Solr for indexing HTML tags with attributes使用 Solr 索引带有属性的 HTML 标签
【发布时间】:2013-06-27 10:46:24
【问题描述】:

我已经使用 Nutch 抓取了网站,并将抓取的数据推送到 solr。现在我想在具有特定属性值的特定标签之间搜索内容。例如,

 <h><title> title to search </title></h>
 <div id="abc">
     content to search
 </div>
 <div class="efg">
     other content to search
 </div>

我已经看到了这个问题(how to parse html with nutch and index specific tag to solr?),但这还不够清楚。

我想知道是否有可用的插件或者我需要完全编写自定义插件。如果我必须编写一个插件,我只需要几个处理 html 标签和属性的指导。

【问题讨论】:

    标签: solr nutch


    【解决方案1】:

    在标记化之前,您可以在分析器中使用HTMLStripCharFilterFactory

    此过滤器strips HTML from the input stream。欲了解更多信息,请查看here

    【讨论】:

    • 感谢您的回复!!是否可以根据 HTML 标签的属性值(即 id 或类等)进行索引。在上面的例子中,abc 代表 id,efg 代表类。
    • 我不这么认为。您将不得不自己获取这些值并为它们编制索引,也许在其他字段中。 HTMLStripCharFilterFactory 对此没有帮助。
    • 好的。假设我知道标题、描述、详细信息等属性的值。除了 HTMLStripCharFilterFactory 分析器之外,我应该/可以在 solr 的 schema.xml 中添加这些属性值吗?
    • 好吧,我处理我拥有的数据,然后添加它。您需要根据自己的要求设计架构。
    • 能不能描述的多一点,看来你对Solr很了解?你能来聊聊stackoverflow吗?
    【解决方案2】:

    您可以实现一个 Nutch 过滤器(我喜欢 Jericho HTML Parser)来仅提取您需要使用 DOM 操作编制索引的页面部分。您可以使用TextExtractor 类来获取要在索引中使用的干净文本(无 HTML 标记)。我通常将这些数据保存在自定义字段中。

    【讨论】:

    • 非常感谢先生!!我还有一个问题..将数据保存在自定义字段中是什么意思?
    • Solr 索引中的自定义字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 2015-03-13
    • 1970-01-01
    相关资源
    最近更新 更多