我正在寻找一种在整个集合中搜索给定字符串的方法。我提到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/