在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>
但是id
是我们唯一的文档字段,因此所有查询都默认为“id:my_query”,它总是返回0结果。
如何定义默认情况下应查询哪些字段?
这是从v3到v4的升级,这部分似乎已经被打破了。
答案 0 :(得分:7)
您可以使用copy field名为“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>
您可以按如下方式添加要复制到复制字段的字段:
<copyField source="field1" dest="text"/>
<copyField source="field2" dest="text"/>
...
<copyField source="fieldn" dest="text"/>
请注意,“text”是此处的复制字段。
答案 1 :(得分:2)
您可以使用edismax搜索。
请参阅https://cwiki.apache.org/confluence/display/solr/The+Extended+DisMax+Query+Parser
检查qf(查询字段)参数。您可以将多个字段传递给它