有没有办法在SOLR中对字段的部分内容创建索引?
例如,假设我们有一个这样的字段:
<field name="document_text"><![CDATA[
<h1>This is my title</h1>
<p>This is document content</p>
]] </field>
我们只想在<h1>
代码内容上创建和编制索引。
我查看了<copyField>
指令,但它仅用于连接单个索引中的多个字段。
我没有找到任何方法在SOLR中本地执行此操作。
答案 0 :(得分:1)
根据输入的格式,您可以将copyField指令应用于使用PatternReplaceCharFilter定义的字段作为第一个过滤器以及正则表达式,删除未包含在标记内的所有内容。虽然使用正则表达式解析HTML通常是一个坏主意,但在这种情况下它可能会“足够好”。
您还可以在编制索引时应用UpdateProcessor链,您可以在其中使用更多的代码来执行XPath提取或其他HTML解析 - 具体取决于您编写该链的方式。