Apache Solr在整个集合中搜索字符串,而无需指定字段名称

时间:2019-02-06 01:03:58

标签: java solr solrj

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

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

1 个答案:

答案 0 :(得分:1)

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

<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>