Solr4 currently only looks at the default "df" field, how can we search multiple fields?

StackOverflow https://stackoverflow.com/questions/15241980

  •  18-03-2022
  •  | 
  •  

문제

In Solr 4, I see that we've configured the default field "df" in the /select request handler:

  <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>

But id is our unique document field, so all queries are defaulting to "id:my_query", which always returns 0 results.

How do I define which fields should be queried by default?

This is an upgrade from v3 to v4 and this part of it seems to have been broken along the way.

도움이 되었습니까?

해결책

You can use a copy field named "text", copy all your searchable fields into this field and specify it as default search field.

<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>

You can add fields to be copied to a copy field as follows:

<copyField source="field1" dest="text"/>
<copyField source="field2" dest="text"/>
...
<copyField source="fieldn" dest="text"/>

Note that "text" is the copy field here.

다른 팁

you can use edismax search.

See https://cwiki.apache.org/confluence/display/solr/The+Extended+DisMax+Query+Parser

Check the qf(query field) parameter. You can pass multiple fields to it

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top