我正在使用Solr 3.6.1 Webapp和SOLR-2155 Patch进行geohash字段支持。 我设置了所有内容,如下所述:https://github.com/dsmiley/SOLR-2155
现在,搜索会为每次点击返回完全错误的距离。刷新结果无济于事。如果我更改了搜索的偏移量(例如列出第二页),那么一切都会好起来的。即使回到第一页,现在也显示出正确的距离。
这不是webapp,因为我直接从Solr获得的json流包含与结果得分相同的距离。在我的情况下,它总是20015,12km。
这是我的查询:
fq={!geofilt}
&fl=internalid,score
&start=0
&rows=10
&sort=geodist()+asc
&sfield=location
&pt=53.6,10.11
&d=50
&q={!func}geodist()
答案 0 :(得分:3)
我写了SOLR-2155。我对其中的距离分类代码并不特别满意;似乎有些东西我忽略了。它应该不是某种数学问题,我认为这是某种Lucene内部问题。如果每个文档只有一个点,则使用solr.LatLonType。如果你有多个那么.... :-(我不知道问题是什么。在Solr 4中,这个名为SpatialRecursivePrefixTreeFieldType的替换代码,它使用不同的代码,但它是相似的,所以我不确定是否问题会消失或不消失。但即使在这种情况下,我也不会对实施感到满意。我知道我想要做得对,但它现在不在我的TODO列表的顶部。
顺便说一句,你基本上是在报告一个错误,报告错误的适当位置将是问题项目的问题跟踪器 - 在这种情况下,就是GitHub SOLR-2155。 StackOverflow对此没有意义。