【问题标题】:Only index documents that contain a specific string in solr仅索引包含 solr 中特定字符串的文档
【发布时间】:2013-12-01 00:12:11
【问题描述】:

如何在 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 时进行索引,但上面会导入所有内容。这应该在导入处理程序或架构中指定吗?

【问题讨论】:

    标签: solr indexing


    【解决方案1】:

    你需要做这样的事情:

    <field column="$skipDoc" regex="^#REDIRECT .*" replaceWith="true" sourceColName="text"/>
    

    在这种情况下,匹配指定正则表达式的文档将被跳过,即。此处跳过“重定向”到其他文章的文章。

    这里有详细的文档: http://wiki.apache.org/solr/DataImportHandler#XPathEntityProcessor

    因此,您需要找到一种方法来跳过“PersonData”数据不在“文本”列中的所有文档。

    具体看:http://wiki.apache.org/solr/DataImportHandler#XPathEntityProcessor 的“示例:索引维基百科”部分

    【讨论】:

    • @Naren 您是否尝试过上述解决方案?它对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2021-12-13
    • 2015-03-24
    • 2017-09-06
    相关资源
    最近更新 更多