过滤/函数查询以将距离与字段值进行比较

时间:2011-10-07 16:15:11

标签: solr

任何人都可以帮我编写一个函数查询来比较固定点(在查询中提供)与每个文档存储的点之间的距离与该文档中存储的距离吗?

我是Solr的新手,除了知道我不能使用过滤器查询,我可能需要使用geodist()和fieldvalue('location')和fieldvalue('point')我不知道在哪里开始!任何帮助将不胜感激!

我正在使用Solr 3.2。

1 个答案:

答案 0 :(得分:4)

结果我可以使用带范围功能的过滤查询来解决这个问题(Solr 1.4+)。对于这种情况,我使用了:

...&fq={!frange+l=0+u=9999999}sub(DocDistance,geodist(DocLocation,lat,lng))

将获得输入点与文档上的点之间的距离,然后减去文档中存储的距离,然后过滤出该值小于0(约9999999近似无穷大)的文档。

唷!那是艰苦的工作! HTH将来有人。