2012-11-12 59 views
4

我正在使用Solr 3.6.1 Web应用程序和SOLR-2155补丁来支持geohash。 我设置了一切像这里描述:https://github.com/dsmiley/SOLR-2155Solr地理空间搜索返回错误的距离

现在,然后搜索返回一个完全错误的距离为每个命中。刷新结果将无济于事。如果我改变了搜索的偏移量(例如,列出第二页),那就再好不过了。即使回到第一页现在显示了正确的距离。

这不是web应用程序,因为直接从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() 

回答

3

我写SOLR-2155。我对其中的距离排序代码并不特别满意,似乎有一些我忽略了。它不应该是某种数学问题,我认为这是某种Lucene内部问题。如果每个文档只有一个点,则使用solr.LatLonType。如果你有多个然后.... :-(我不知道问题是什么。在Solr 4中,这个名为SpatialRecursivePrefixTreeFieldType的替换代码,它使用不同的代码,但它是相似的,所以我不知道是否这个问题将会消失,但即使在这种情况下,我也不满意实现,我知道我想如何做,但它现在不在我的TODO列表的顶部。

顺便说一句,你基本上是在报告一个bug,并且报告错误的适当位置将成为问题项目的问题跟踪器 - 在这种情况下,这就是GitHub SOLR-2155. StackOverflow对于

+0

嗨大卫。感谢您的快速响应!不知道这是一个错误,但有可能是恐惧。将尝试预处理我的数据使用默认的Solr LatLonType 。要我在GitHub上发布行为吗? – Marcel

+0

是的,这是适当的位置,其他人可以看到问题并跟踪其进展情况。 - 或者更少,这更可能 –

相关问题