我们正在使用java开发一个app并使用elasticsearch java api。我们索引metadatas并希望在索引时间或搜索时间使用排名/得分。
而且,如果可以对用户点击结果时选择/批准的结果进行排名/评分,我也不知道。这就像设定结果是一个受欢迎的结果,并提高其受欢迎程度。
如何实施?谢谢你的建议。
答案 0 :(得分:1)
elasticsearch允许我们使用_score
更改/修改弹性搜索分数。
我希望您的要求是维护文档中的自定义排名,而不是弹性搜索评分。
如果是这样,你需要设计这样的文件。在所有文档中添加类似userRank
的字段名称,如果用户单击结果中的文档,则增加值。使用function_score,您可以将userRank
字段值添加到计算出的_score
。
答案 1 :(得分:0)
有一个名为learning to rank的庞大而复杂的字段,它研究如何转换有关文档/查询的质量信息并将其转换为相关性排名规则。
具体来说,对于Elasticsearch,有this plugin可以提供帮助。 (免责声明我是创作者)。