如何在solr中为包含特定字符串的文档编制索引?这是我当前的数据导入处理程序
<dataConfig>
<dataSource type="FileDataSource" encoding="UTF-8" />
<document>
<entity name="page"
processor="XPathEntityProcessor"
stream="true"
forEach="/mediawiki/page/"
url="pages.xml"
transformer="RegexTransformer"
>
<field column="id" xpath="/mediawiki/page/id" />
<field column="title" xpath="/mediawiki/page/title" />
<field column="text" regex="{{PersonData" xpath="/mediawiki/page/revision/text" />
</entity>
</document>
</dataConfig>
如果文本字段包含{{PersonData,我只想索引,但上面导入了所有内容。这应该在导入处理程序或架构中指定吗?
您需要这样做:
<field column="$skipDoc" regex="^#REDIRECT .*" replaceWith="true" sourceColName="text"/>
在这种情况下,将跳过与指定正则表达式匹配的文档,即此处将跳过"重定向"到其他文章的文章。
此处提供详细文档:http://wiki.apache.org/solr/DataImportHandler#XPathEntityProcessor
因此,对于您的文档,您需要找到一种方法来表示跳过所有"PersonData"数据不在"text"列中的文档。
具体来看:"示例:索引维基百科"的一部分http://wiki.apache.org/solr/DataImportHandler#XPathEntityProcessor