1

我试图允许对我的 solr schema.xml 中定义的所有字段进行全局搜索。我有以下领域:

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

1 回答 1

3

我想我弄清楚了这个问题。显然,对于 Solr 3.6.1,默认搜索字段是在 solrconfig.xml 中指定的,而不是在 schema.xml 中。在 solrconfig.xml 中,我将元素值从 text 更改为 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>
于 2012-10-31T21:42:15.413 回答