5

/selectSolr 4 では、リクエスト ハンドラでデフォルト フィールド「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 へのアップグレードであり、途中でこの部分が壊れているようです。

4

2 に答える 2

10

「テキスト」という名前のコピー フィールドを使用して、検索可能なすべてのフィールドをこのフィールドにコピーし、デフォルトの検索フィールドとして指定できます。

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

ここでの「テキスト」はコピー フィールドであることに注意してください。

于 2013-03-06T08:09:28.673 に答える