我开始认为我想要做的事情是不可能的,但我想我会试试这个。Solr使用dismax时计算距离
我正在运行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查询进行排序,因此我的提升给出的分数对于排序可能会很有趣,但我不需要将其返回。
谢谢,鉴于Solr 4现在很稳定,我会接受这个解决方案:) – polythene 2013-08-13 16:53:35