【问题标题】:Solr: Query based on distance fieldSolr:基于距离场的查询
【发布时间】:2023-03-05 18:44:01
【问题描述】:

我想用距离参数查询 solr,并且查询应该在距离范围内。

我们在 solr 中有所有城市索引及其经纬度和边界现在我想从经纬度运行查询,我想要 50 公里范围之后和 100 公里范围以下的所有城市。

简而言之,我希望所有在 50 到 100 公里之间的城市都在给定的纬度范围内。

【问题讨论】:

    标签: solr datastax-search


    【解决方案1】:

    你可以use a filter query together with frange and geodist():

    &sfield=your_latlon_field&pt=lat,lon&fq={!frange l=50000 u=100000}geodist()
    

    【讨论】:

    • 这是我们用来获取 100 公里距离内的所有记录的查询。 fq={!geofilt pt=-41.2438238,146.41833940000004 sfield=location d=100 sort=geodist(geoBoundary,"41.2438238,146.41833940000004") asc} 如何在其中添加 frange .. 我正在添加它,但它不起作用我
    • 我试过这样但是它不起作用。 {!geofilt pt=-41.2438238,146.41833940000004 sfield=位置 d=100 {!frange l=50 u=100}geodist() }。你能纠正我哪里错了吗
    • 你没有使用我写的和链接页面上使用的语法 - 尝试从那里开始。将 sfieldpt 移出它们自己的参数,完全删除 dgeofilt - frange 将进行排除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多