【问题标题】:How can I Ignore some fields in a SOLR query如何忽略 SOLR 查询中的某些字段
【发布时间】:2017-07-04 00:12:07
【问题描述】:

我有 Solr 5.3.1 并且需要对除某些字段之外的所有字段进行查询(我需要在某些字段中搜索而不是以这种方式检索字段来检索 [/?q=query&fl=field1 ,field2,field3])

我尝试了一些解决方案但不起作用

1.How to exclude fields in a SOLR query [此解决方案无效]

2.[以下解决方案有效,但需要更多时间]

query = field1:"+txtSearch+"OR field1:"+ txtSearch+" OR field1:"+txtSearch 

3.我在 data-config.xml 中设置了 indexed="false" 它只忽略此字段中的搜索,但是当我搜索所有字段 http://localhost:8983/solr/test?q=query 时无论 indexed="false" OR true

,在所有字段中进行查询搜索

我寻找所有这些链接

Retrieving specific fields in a Solr query?

How to exclude fields in a SOLR query

https://www.drupal.org/node/1933996

【问题讨论】:

    标签: solr solrj solr-query-syntax


    【解决方案1】:

    使用复制字段

    你可以这样使用它:

    • 将所有字段设为stored="true" 和indexed="false"
    • 还创建一个新字段,例如 cffield,其中 multiValued="true"、stored="false" 和 indexed="true"

    示例架构:

    <field name="field1" type="string" indexed="false" stored="true"/>
    <field name="field2" type="string" indexed="false" stored="true"/>
    <field name="field3" type="string" indexed="false" stored="true"/>
    ....
    <field name="cffield" type="string" indexed="true" stored="false" multiValued="true"/>
    
    • 现在您要搜索的所有字段,设置使用copyField标签的源值从源字段复制到目标

    示例架构:

    <copyField source="field1" dest="cffield"/>
    <copyField source="field2" dest="cffield"/>
    ....
    

    现在您可以使用

    进行搜索
    query = cffield:txtSearch
    

    这将为您提供使用 copyField 的源和 cffield 作为目标的所有字段的结果

    【讨论】:

      【解决方案2】:

      indexed="false" 需要在 schema.xml 中提及。

      一旦你修改了schema.xml,你需要重新索引数据。(你也需要重新启动服务器)

      那么 solr 不会在没有被索引的字段中搜索。 如果要在特定字段中搜索,可以使用字段名称和字段的搜索值。

      喜欢

         `q=field1:"value1"`
          q=field1:value1 OR field2:value2
          q=field1:value1 AND field2:value2
          q=value1&fq=field2:value2&fq=field3:value3  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-25
        • 1970-01-01
        • 2022-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多