如何在SOLR中搜索包含关键字的所有字段。

时间:2011-11-28 10:16:21

标签: solr field

例如,我搜索的关键字是:'Basket Ball'。什么是可以获得包含'Basket Ball'的所有字段的查询,。? 我试过使用*:篮球,但它不起作用,。

3 个答案:

答案 0 :(得分:11)

schema.xml定义默认搜索字段 -

<defaultSearchField>text</defaultSearchField>

您可以将所有字段复制到此默认搜索字段。

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

查询q=basket ball应该有效。

答案 1 :(得分:4)

您需要使用能够将令牌分派到多个字段的查询解析器,例如(e)dismax。例如,如果您有两个字段field1field2http://solr/select?q={!dismax}Basket Ball&qf=field1^1 field2^1

有关dismax配置的详细信息,请参阅http://wiki.apache.org/solr/DisMaxQParserPlugin#qf_.28Query_Fields.29

答案 2 :(得分:4)

默认搜索字段(自3.6起)现在在solrconfig.xml中定义

e.g。在Solr configsets目录附带的solrconfig.xml中,您将看到类似

的内容
allText

您可以将yourDefaultSearchFieldName更改为... moveX = -moveX if (moveX < 0) { --moveX; } else { ++moveX; } ...