2011-11-28 15 views

答えて

10

のschema.xmlは、デフォルトの検索フィールドを定義します。

<copyField source="field1" dest="text"/> 
<copyField source="field2" dest="text"/> 
<copyField source="field3" dest="text"/> 

クエリq=basket ballが有効です。

+2

これはSolr 3.6以降ではもはや真です。 「未定義のフィールドテキスト」エラーを検索中にhttps://issues.apache.org/jira/browse/SOLR-2724 – kellyfj

3

トークンを(e)dismaxなどのいくつかのフィールドにディスパッチできるクエリパーサを使用する必要があります。 http://solr/select?q={!dismax}Basket Ball&qf=field1^1 field2^1

がdismaxの構成の詳細についてはhttp://wiki.apache.org/solr/DisMaxQParserPlugin#qf_.28Query_Fields.29を参照してください:exempleのためには、二つのフィールドfield1field2を持っている場合。

<defaultSearchField>text</defaultSearchField> 

あなたはこのデフォルトの検索フィールドにすべてのフィールドをコピーすることができます -

+0

allTextを変更することができます

<initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell"> <lst name="defaults"> <str name="df">allText</str> </lst> </initParams> 

のようなものが表示されます、。 ?^1文字の意味は? – Praditha

+0

はい、すべてのフィールドを指定する必要があります。 '^'文字はあなたのフィールドに重みを与える能力を与えます。たとえば、 'field1'の一致が' field2'の一致の2倍になるようにするには、 'qf = field1^2 field2^1'を使用します。 – jpountz

4

(3.6以降)デフォルトの検索フィールドは、現在solrconfig.xml

などで定義されていますSolrの持つ船がディレクトリをconfigsetsことsolrconfig.xmlでは、そのように、それはまだ検索右になりますフィールドを指定しなければならない場合は、yourDefaultSearchFieldName

+0

を参照してください –

+0

あなたはどのバージョンのSolrを使用していますか? – kellyfj

+0

私はsolrを使用しています。5.3 –

関連する問題