Elasticsearch的个性化搜索结果

spe*_*ane 13 search personalization elasticsearch

如何设置Elasticsearch以便返回个性化结果?

例如,我希望返回给特定用户的结果如果他们先前点击了一个结果,或者如果他们"过时"导致过去的结果,则排名更高.您还可以使用"隐藏"选项,将结果推向排名.从目前为止我在弹性搜索中看到的情况来看,似乎很难根据用户自己的动态数据向用户返回不同的排名.

该解决方案必须扩展到每天进行十几次搜索的数千名用户.理想情况下,我希望排名能够实时变化,但并不重要.

Vin*_*han 8

Elasticsearch提供了各种各样的评分选项,但是为了达到你所说的,你需要做一些额外的任务.

功能分数查询和文档术语查找术语过滤器将是我们选择的工具

首先为每个用户创建一个文档,告诉他访问过的链接或链接ID以及他喜欢的链接.这应作为单独的索引单独存放.这应该由用户维护,因为他应该从客户端更新和维护此记录.

现在,当用户点击数据索引时,使用指向此字段的过滤器函数执行功能评分查询.

在这种方法中,当缓存过滤器时,你也应该获得不错的性能.