Ese*_*gün 20
我不认为查询解析器支持<运算符.您必须显式定义RangeQuery.然后,您可以使用BooleanQuery将名称查询附加到该查询.
更新:显然,我错了.事实上,Solr的查询解析器比Lucene的更聪明.这是你的答案:http://wiki.apache.org/solr/SolrQuerySyntax#Differences_From_Lucene_Query_Parser
field:[*TO 100]查找小于或等于100的所有字段值
据我所知,我不相信Solr/Lucene支持更多/更少.它可以通过编程方式完成整数和日期之类的事情(在您的情况下,金钱值,因为只需要担心两个小数位).
例如,本机地,Lucene和Solr查询解析器支持小于或等于(<=):
?q=name:ipod AND price:[* to 99.99]
Run Code Online (Sandbox Code Playgroud)
如果数据不涉及分数,这将为您提供不到100美元的资金.
对于诸如日期和整数之类的事情,或其他具有显着有限差异的事物,您可以减少(或者在大于增量的情况下)您要去的值.
编辑:检查Solr 6.5版的文档.它包含独家范围支持.参考指南的第272页说明.
基本上,使用花括号来表示小于.
?q=name:ipod AND price:{* TO 100}
Run Code Online (Sandbox Code Playgroud)