gpt4 book ai didi

solr - 在 Solr 4 中按距离对结果进行排序的理想方式?

转载 作者:行者123 更新时间:2023-12-01 11:45:27 26 4
gpt4 key购买 nike

我正在努力阅读和理解有关 Solr 4 中空间搜索的文档:

http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4

但我很难找到一个简单的答案:在 Solr 4 中按距离对结果进行排序的理想方式是什么?

我的文档集中有两个可用的位置字段:

geo 是一个 location_rpt 字段定义为:

<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />

ll 是一个位置字段,定义为:

<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>

我在上面引用的文档中看到的示例引用了相交的圆圈和各种似乎没有必要的东西,如果我感兴趣的只是在我的查询中提供一个起点(纬度/经度),并获取按距离排序的结果列表。

更新:已接受的答案提供了一个适用于 Solr 3 和 4 的良好解决方案。David Smiley 的 comment on that answer为感兴趣的人提供严格的“Solr 4”排序方式。

最佳答案

根据 Apache Solr 4 Cookbook 中的第 4 章 - 查询 Solr - 按距点的距离排序结果,以便根据 按距离排序ll 字段,您将使用 geodist()函数如下:

假设您站在北极 (0.0, 0.0),并且您希望对公司进行排序,使离您较近的公司在结果列表中排在第一位。您的查询如下所示:

  http://localhost:8983/solr/select?q=company&sort=geodist(ll,0.0,0.0)+asc

关于solr - 在 Solr 4 中按距离对结果进行排序的理想方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15823077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com