如果在Solr Query中有条件

时间:2017-10-09 14:05:57

标签: solr solr-query-syntax

有人可以为以下问题提出一些解决方案吗?

solr中if查询的正确格式是什么。 我想检查特定的fieldvalue是否大于常量 例如: if((field1> 0),field1,field2) 这可能在solr? 我们也可以用日期字段做同样的事情。通过比较两个日期?

1 个答案:

答案 0 :(得分:0)

Solr(和Lucene一般)是基于文件的。 这意味着信息单元是一个单独的文档(由一组字段组成)。 您搜索并获得文档。 要搜索字段值小于常量的文档,可以使用范围查询[1]:

field1:[* TO 500] 这相当于"返回我所有的文件,其中field1的值为<超过500。 日期也可以这样做。

鉴于此,我没有得到"条件"您的请求的一部分,但Solr提供了一个条件函数查询,可以使用[2]

[1] https://lucene.apache.org/solr/guide/6_6/the-standard-query-parser.html#TheStandardQueryParser-RangeSearches

[2] https://lucene.apache.org/solr/guide/6_6/function-queries.html#FunctionQueries-AvailableFunctions