【问题标题】:MySQL 'BETWEEN' query analogue for SolrSolr 的 MySQL 'BETWEEN' 查询模拟
【发布时间】:2015-06-11 15:34:38
【问题描述】:

我需要向 Apache Solr 发出类似于 MySQL BETWEEN 查询的搜索请求。

在 Solr 文档中,我有两个字段:“postcode_from”和“postcode_to”。这是一些国家地区或城市的一系列邮政编码。

只有整数!!!

我有一个介于“postcode_from”和“postcode_to”之间的值(例如 1234),我需要找到所有符合此条件的记录。

在 MySQL 中它很容易解决:

SELECT * FROM `postal_location_network` WHERE 1234 BETWEEN `postcode_from` AND `postcode_to`;

如何为 Solr 编写正确的查询?

感谢您的帮助!

【问题讨论】:

    标签: mysql solr solr-query-syntax


    【解决方案1】:

    我不确定您需要什么,但这是您所期望的吗?

    q = postcode_from:[yourValue TO *] AND postcode_to:[* TO yourValue]

    【讨论】:

    • 不正确。例如:如果yourValue = 5postcode_from = 2postcode_to = 10...如果使用MySQL之间的条件返回true5 BETWEEN 2 AND 10。但是,如果您使用上面的解决方案代表相同的情况,它会像这样postcode_from:[5 TO *] AND postcode_to:[* TO 5]。这是不正确的。
    【解决方案2】:

    正确的解决方案是:

    q = postcode_from:[* TO yourValue] AND postcode_to:[yourValue TO *]
    

    谢谢你

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-03
      • 2020-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多