我正在寻找一种在整个集合中搜索给定字符串的方法。我提到了Correct use case of String parameter in SetQuery function of SolrQuery?
提供的示例适用于以下情形:query.setQuery("fieldName":"value")
,但不适用于query.setQuery("*value*")
。就我而言,我不想提供字段名称,并且无论具有此值的字段名称,它都应该搜索整个集合。这种情况还有其他方法吗?
在"text"
中创建一个名为schema.xml
的复制字段,并将所有字段复制到其中。
<copyField source="field1" dest="text"/>
为了在/ query请求处理程序下或IntParams下的solrconfig.xml文件中设置默认搜索字段。
<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>
感谢您提供信息,我在solr 7.7.2版本中尝试了相同的方法。为所有字段创建了副本字段,并将其分配给dest =“ text”(文本类型的字段)。但是它没有任何输出。它仅适用于df = fieldName的一个字段。
它具有托管架构,该架构会在索引编制后自动覆盖更改,请让我知道会出现什么问题。