在Solr 4中,我看到我们在/select请求处理程序中配置了默认字段"df" :
<requestHandler name="/select" class="solr.SearchHandler">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">id</str>
Run Code Online (Sandbox Code Playgroud)
但是id我们是唯一的文档字段,因此所有查询都默认为"id:my_query",它总是返回0结果.
如何定义默认情况下应查询哪些字段?
这是从v3到v4的升级,这部分似乎已经被打破了.
您可以使用名为"text" 的复制字段,将所有可搜索字段复制到此字段中,并将其指定为默认搜索字段.
<requestHandler name="/select" class="solr.SearchHandler">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
Run Code Online (Sandbox Code Playgroud)
您可以添加要复制到复制字段的字段,如下所示:
<copyField source="field1" dest="text"/>
<copyField source="field2" dest="text"/>
...
<copyField source="fieldn" dest="text"/>
Run Code Online (Sandbox Code Playgroud)
请注意,"text"是此处的复制字段.