java – Solr Geospatial Search返回错误的距离

我正在使用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()

解决方法:

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

顺便说一下,你基本上是在报告一个错误,报告错误的适当位置将是问题项目的问题跟踪器 – 在这种情况下,就是GitHub SOLR-2155. *对此没有意义.

上一篇:iOS9中通过UIStackView实现类似大众点评中的效果图


下一篇:c# – 转换EPSG:4326投影到EPSG:3857 mercator