仅索引solr中包含特定字符串的文档



如何在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

最新更新