有人能帮助在solr中的数字查询中使用立即小于和立即大于吗

62lalag4  于 2022-12-23  发布在  Solr
关注(0)|答案(1)|浏览(264)
var strQuery = client_education.query().q(
    'all_type:current_affairs AND active:1 AND ca_id:123)
var next = client_education.query().q(
    'all_type:current_affairs AND active:1 AND ca_id>123) 
    // should return the greater than 123 ca_id from database

// var previous = client_education.query().q(
    'all_type:current_affairs AND active:1 AND ca_id<123) 
    // should return the less than 123 ca_id from database

如何在solr中检索大于和小于给定id(123)的值?

zf2sa74q

zf2sa74q1#

范围搜索可以使用[start TO end]来完成,其中[]用于表示包括,而{}用于表示不包括开始/结束。
对于任何大于123的值:

ca_id:{123 TO *]

对于任何小于123(不包括)的值:

ca_id:[* TO 123}

这里假设你的字段被配置为正确的整型字段,如果你已经配置了文本或字符串字段,这将不起作用(你需要重新配置它们),因为111111排序在123之前,因此被认为小于123
但是,只要您将字段配置为数字/整数字段,范围语法就会按预期工作。

相关问题