java - Apache Solr 在整个集合中搜索字符串而不指定字段名称

标签 java solr solrj

我正在寻找一种在整个集合中搜索给定字符串的方法。我提到Correct use case of String parameter in SetQuery function of SolrQuery?

提供的示例适用于如下场景:query.setQuery("fieldName":"value"),但不适用于query.setQuery("*value*")。就我而言,我不想提供字段的名称,它应该搜索整个集合,无论字段名称具有该值。对于这种情况还有其他方法吗?

最佳答案

schema.xml 中创建一个名为 "text" 的复制字段,并将所有字段复制到其中。

<copyField source="field1" dest="text"/>

为了在/query 请求处理程序下的 solrconfig.xml 文件中设置默认搜索字段或作为 IntParams。

<requestHandler name="/query" class="solr.SearchHandler">
   <lst name="defaults">
     <str name="echoParams">explicit</str>
     <str name="wt">json</str>
     <str name="indent">true</str>
     <str name="df">text</str>
   </lst>
</requestHandler>

<initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell,/browse">
  <lst name="defaults">
    <str name="df">text</str>
  </lst>
</initParams>

关于java - Apache Solr 在整个集合中搜索字符串而不指定字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54545306/

相关文章:

solr - 在Solr中, "text"字段的最大大小是多少?

windows - Windows : Failed to set permissions of path 中的 Nutch

java - 如何在 java/solrj 中解析 Solr 分析请求的响应?

java - 使用 SOLRJ 插入 POJO 树

java - 带有限定符 @Default 的类型 ZZZZ 的不满足依赖关系

java - 如何在具有私有(private)构造函数的类中使用 @Value 或 Autowiring 环境?

java - 将多值、逗号分隔的字符串添加到 Solr 不起作用

java - 如何使用三个选择框插入出生日期?

java - Google Play 保存的游戏 Android : result of Games. Snapshots.open()/resolveConflict() 经常有状态 16

java - Solrj 与 Solr Suggester