提高利用用户行为SOLR结果(Boost SolR results using users beha

2019-10-19 12:08发布

我想SOLR能够从我的网站用户的选择“学习”。 我的意思是,我知道用户点击哪个产品进行他搜索后。 所以我收集[术语搜索点击=>数]在SOLR索引的每个产品的列表。 但我不明白如何有依赖于用户输入的提升。 是否有可能索引某些键/值对为一个文件,并检索与在提升参数可使用的功能价值呢?

我不知道是明确的,所以我会添加一个具体的例子:

比方说,当“花园椅”用户搜索,SOLR返回我3个产品,“绿色园林椅”,“蓝色的椅子”和“hamac的花园”。 “绿色园林椅”排名第一,在hamac位居末位,符合市场预期。 但是,那么,所有的用户搜索“花园椅”上hamac最终点击。

我想帮助hamac第一搜索“花园椅”上的排名,而不会改变它在其他搜索得到了排名。 所以我想能够执行密钥=>基于价值的提升。 这有可能实现与SOLR?

我敢肯定,我不可能是第一个需要这种基于用户的搜索结果的改善。

提前致谢。

Answer 1:

你可能在你edismax BQ ,如果你正在使用edismax(或者BF)。 对于这个工作,你显然需要存储的信息(在DB,Redis的,不管你喜欢):

  • 搜索“花园椅”:
    • 点击“hamac的花园”:10
    • 点击“绿色园林椅”:4
  • 搜索“绿表”:
    • ...

如此反复,看看这件事的时候有一个搜索,如果有可用信息的搜索,发送BQ提高你想要什么。

此外,检查出的QueryElevationComponent它可能你的目的(尽管不只是提高更强的....)。 有虽则考虑两件事情:

  1. 每次你改变,你会需要修改xml和重装点击数,所以,如果你能批它会更好,它在夜间或类似的东西。
  2. 有一个最近的JIRA问题,让您可以提供类似的功能,但通过提供请求参数,无需XML /重装的,所以检查出太多


文章来源: Boost SolR results using users behavior