如何创建在所有字段中按多个关键字进行搜索的solr查询

时间:2016-02-08 03:50:17

标签: solr

我想对多个关键字的所有字段执行solr查询。例如,我想搜索单词“dog”和单词“cat”。

到目前为止,我尝试过这样的事情:

q=dog cat

或类似的东西:

q=dog,cat

但是,我认为我的查询实际上是在执行OR而不是AND。

1 个答案:

答案 0 :(得分:0)

您的问题是关于默认运算符(AND / OR),您想要搜索"所有字段"。

对于大多数解析器,您可以使用参数q.op更改默认解析器(例如,Standard Query ParserDisMax Query Parser),或者您可以使用schema.xml中的defaultOperator或Schema API

请注意,您只会搜索default field

如果您想搜索"所有字段"您必须将copy所有字段都设置为一个字段(并将其用作默认字段),或者必须在DisMax qf-parameter中列出所有字段。 结果将不一样:在第二种情况下,您的" AND" -Search必须匹配其中一个字段(使用其特殊的标记化器),在第一个每个术语中可以在不同的字段中匹配(因为最后所有术语都在默认字段中。