Solr查询:如果field = value1存在,则返回,否则返回field = value2

时间:2018-08-17 11:59:48

标签: solr solrj solrcloud solr4 solr-query-syntax

我想进行一个Apache Solr搜索,该搜索将执行以下操作:

If field=value1返回任何内容,然后返回。

Else if field=value2返回任何内容,然后返回。

Else field=value3返回任何内容,然后返回。

我该怎么做?有什么帮助吗?目前,我正在用Java编写if else逻辑。

1 个答案:

答案 0 :(得分:0)

您可以使用组查询。首先使用(field:value1 OR field:value2 OR field:value3)过滤查询,然后指定group.query = field:value1&group.query = field:value2&group.query = field:value3。现在,solr将返回分组结果,供您选择。

您仍然必须使用if或其他逻辑来获取所需的值组,但是您将在单个solr查询中获得结果。

Solr组查询资源。

https://lucene.apache.org/solr/guide/6_6/result-grouping.html

PS-我假设这里已经有value1,value2和value3。