我开始认为我想做的事情是不可能的,但我想我会试一试。
我正在运行 Solr 3.5。
我目前有两种类型的搜索:
- 一个基本的空间查询,它返回分数字段中两点之间的计算距离。
我的 Solr 日志中的示例查询:
?fl=*,score&sort=score+asc&start=0&q={!func}geodist()&sfield=coordinates&pt=59.2363514,18.092783&version=2
- 允许对多个字段进行自由文本查询的 dismax 查询。
Solr 日志中的示例查询:
mm=1&d=100.0&sfield=coordinates&qf=field1^5.0+fields2^3.0&defType=edismax&version=2&fl=*,score&start=1&q=monkeyhopper&pt=59.2363514,18.0927830000&fq={!geofilt}}
我想用 dismax 查询替换我的第一个查询,但我确实需要在响应中获取计算出的距离。是的,我可以以编程方式计算距离,但我宁愿不必这样做,因为 Solr 已经为我完成了。
我仍然希望能够“按相关性”、距离或任何其他字段对我的 dismax 查询进行排序,因此我的提升给出的分数可能对排序很有趣,但我不需要返回它。