2012-10-31 306 views
1

我試圖允許在solr schema.xml中定義的所有字段進行全局搜索。我有以下領域:Solr - 搜索多個字段

 <field name="catchall" 
     type="text_en_splitting" 
     stored="true" 
     indexed="true" 
     multiValued="true" /> 

然後,我有:

<copyField source="*" dest="catchall"/> 
<defaultSearchField>catchall</defaultSearchField> 

然而,當我搜索時沒有指定領域,只搜索這一領域:

<field name="text" type="text_en_splitting" multiValued="false"/> 

是我的配置缺少可搜索所有字段的內容?以下是未包含在默認搜索中的字段示例:

<field name="summary" type="text_en_splitting" indexed="true" stored="true" multiValued="true"/> 

回答

3

我想我已經找到了問題所在。顯然,在Solr 3.6.1中,缺省搜索字段在solrconfig.xml中指定,而不是在schema.xml中指定。在solrconfig.xml中,我將元素值從文本更改爲catchall。

<requestHandler name="/select" class="solr.SearchHandler"> 
<lst name="defaults"> 
    <str name="echoParams">explicit</str> 
    <int name="rows">10</int> 
    <str name="df">catchall</str> 
</lst> 
</requestHandler>