有人可以为以下问题提出一些解决方案吗?
solr中if查询的正确格式是什么。 我想检查特定的fieldvalue是否大于常量 例如: if((field1> 0),field1,field2) 这可能在solr? 我们也可以用日期字段做同样的事情。通过比较两个日期?
答案 0 :(得分:0)
Solr(和Lucene一般)是基于文件的。 这意味着信息单元是一个单独的文档(由一组字段组成)。 您搜索并获得文档。 要搜索字段值小于常量的文档,可以使用范围查询[1]:
field1:[* TO 500] 这相当于"返回我所有的文件,其中field1的值为<超过500。 日期也可以这样做。
鉴于此,我没有得到"条件"您的请求的一部分,但Solr提供了一个条件函数查询,可以使用[2]
[2] https://lucene.apache.org/solr/guide/6_6/function-queries.html#FunctionQueries-AvailableFunctions