0

私はSolrが初めてです。MySql から solr まで 3 つのフィールドにインデックスを付けました。ID、名、姓。first_name と last_name で検索したい。schema.xml に次のように書きました。

<fields>
<field name="id" type="string" indexed="true" stored="true"/>
<field name="first_name" type="text_general" indexed="true" stored="true"/>
<field name="last_name" type="text_general" indexed="true" stored="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>first_name</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>

最初に first_name で検索し、次に last_name で検索するためにここに書かなければならないこと。フィールドに優先順位を付ける必要があるのはどこですか? 私を助けてください。

4

1 に答える 1

1

クエリでこれを定義する必要があります。これには requestHandler を使用することをお勧めします。

<requestHandler name="bcn_jug_en" class="solr.SearchHandler" enable="true">
 <lst name="defaults">
   <str name="defType">edismax</str>
   <str name="qf">first_name^10 last_name^5</str>
   <str name="mm">100%</str>
</lst>

http://searchhub.org/2010/05/23/whats-a-dismax/

于 2013-05-08T12:09:16.673 に答える