我希望SolR能够从我的网站用户的选择中“学习”。我的意思是,在用户执行搜索之后,我知道用户单击了哪个产品。因此,我收集了一个术语列表,搜索了=>,SolR中索引的每个产品的点击次数。但我想不出如何根据用户的输入来增加它。是否可以为文档索引一些键/值对,并使用可在boost参数中使用的函数检索值?
我不太清楚,所以我将添加一个具体的例子:
比方说,当用户搜索“花园椅”时,SolR会返回3种产品,“绿色花园椅”、“蓝色椅子”和"hamac表示花园“。“绿色花园椅”排在第一位,哈马克排在最后,正如预期的那样。但是,所有搜索“花园椅”的用户最终都会点击hamac。
我想帮助hamac在搜索“花园椅”时排在第一位,而不改变它在其他搜索中的排名。所以我希望能够执行一个基于key=>value的boost。这能用SolR实现吗?
我相信我不会是第一个需要这样的基于用户的搜索结果改进的人。
提前谢谢。
发布于 2014-03-05 08:39:40
如果您使用edismax (或者可能是bf),您可以使用edismax bq。要使此操作正常,您显然需要存储信息(在db、redis中,无论您喜欢什么):
等等,当有搜索的时候,查找这个,如果有信息可供搜索,发送bq来增加你想要的东西。
另外,查看一下QueryElevationComponent --它可能是你的目的(尽管它比仅仅促进.更强大。)不过,有两件事需要考虑:
https://stackoverflow.com/questions/22181250
复制相似问题