Solr4目前只查看默认的"df"字段,我们如何搜索多个字段?

Dav*_*rks 3 solr solr4

在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的升级,这部分似乎已经被打破了.

Mav*_*lin 7

您可以使用名为"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"是此处的复制字段.