任何人都可以帮我编写一个函数查询来比较固定点(在查询中提供)与每个文档存储的点之间的距离与该文档中存储的距离吗?
我是Solr的新手,除了知道我不能使用过滤器查询,我可能需要使用geodist()和fieldvalue('location')和fieldvalue('point')我不知道在哪里开始!任何帮助将不胜感激!
我正在使用Solr 3.2。
答案 0 :(得分:4)
结果我可以使用带范围功能的过滤查询来解决这个问题(Solr 1.4+)。对于这种情况,我使用了:
...&fq={!frange+l=0+u=9999999}sub(DocDistance,geodist(DocLocation,lat,lng))
将获得输入点与文档上的点之间的距离,然后减去文档中存储的距离,然后过滤出该值小于0(约9999999近似无穷大)的文档。
唷!那是艰苦的工作! HTH将来有人。