Solr地理空间搜索返回错误的距离

4
我正在使用带有SOLR-2155修补程序的Solr 3.6.1 Webapp,以支持geohash字段。我按照这里描述的方式设置了一切:https://github.com/dsmiley/SOLR-2155 偶尔搜索会返回每个命中的完全错误距离。刷新结果无济于事。如果我更改搜索的偏移量(例如列出第2页),则一切都正常。即使现在返回第一页,也会显示正确的距离。
这不是webapp的问题,因为我直接从Solr获取的json流包含与结果分数相同的距离。在我的情况下,它总是20015.12公里。
以下是我的查询:
fq={!geofilt}
&fl=internalid,score
&start=0
&rows=10
&sort=geodist()+asc
&sfield=location
&pt=53.6,10.11
&d=50
&q={!func}geodist()
1个回答

3

我写了SOLR-2155。我对其中的距离排序代码并不满意,似乎有些事情我忽略了。这不应该是某种数学问题,而是某种Lucene内部问题,我想。如果每个文档只有一个点,则使用solr.LatLonType。如果有多个点…… :-( 我不知道问题出在哪里。在Solr 4中,替换此代码的代码称为SpatialRecursivePrefixTreeFieldType,它使用不同的代码,但类似,因此我不确定问题是否会消失。但即使在那种情况下,我对实现也一点都不满意。我知道如何正确地做,但眼下它不是我的首要任务。

顺便说一下,你基本上是在报告一个错误,报告错误的适当位置应该是相关项目的问题跟踪器--在这种情况下,是GitHub SOLR-2155。StackOverflow对此毫无意义。


嗨,David。感谢快速回复!我不知道这是一个错误,但担心可能是。我将尝试预处理我的数据以使用默认的Solr LatLonType。您希望我也在GitHub上发布此行为吗? - Marcel
是的,那是它的适当位置,其他人可以看到问题并跟踪其进展情况。--或者缺乏进展,这更有可能。 - David Smiley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接