solr - 如何在solr中实现时间/(距离)^2?

标签 solr solrj solr5

我想在 solr 中实现Time/Distance^2。例如:

用户所在地为:BTM

问题1:发布于 5 小时前。距我所在地的距离为 2 公里:5/4=1.25

问题2于 2 小时前发布。距我所在地的距离为 4 公里:2/16=0.125

问题3于 4 小时前发布。距我所在地的距离为 3 公里:4/9:0.44

现在,当我触发 solr 查询时,结果应根据 T/D^2 公式按以下顺序出现:

question1 then question3 and question1

最佳答案

您可以使用函数查询。请参阅FunctionQuery

您可以通过函数来​​订购。 使用函数 div 和 pow。

sort=div(Time/pow(Distance,2)) asc

sort=div(Time/pow(Distance,2)) desc

您可以将函数添加到字段列表中以调试该函数:

fl=*,div(Time,pow(Distance,2))

关于solr - 如何在solr中实现时间/(距离)^2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33450838/

相关文章:

java - Solr 查询未返回预期结果

mongodb - 如何在solr 4中导入和索引mongodb数据

mysql - Solr 和 MySQL,如何保持更新的索引,如果它很简单,是否还需要数据库?

java - 使用 Spring Data Solr 验证 SolrCore

indexing - 基于句子而不是整个字段值构建 Solr 建议

solr - Solr的无模式功能如何工作?如何将其还原为经典架构?

lucene - solr 中的 ToTitleCase 阻止 Solr 中的 SCREAMING CAPS

Solrcloud 删除集合错误?