gpt4 book ai didi

elasticsearch - Sphinx:如何更改默认排名方法?

转载 作者:行者123 更新时间:2023-12-03 01:56:15 25 4
gpt4 key购买 nike

我有电影表(movie_id,标题),一部电影可以有许多标题(不同的语言)。
我想对所有标题实现全文搜索,然后应按日期对具有相同相关性的电影进行排序。现在,我正在使用狮身人面像并执行以下操作:

sql_joined_field = all_movie_titles from query; select movie_id as id, title      from tbl_movie_titles order by movie_id

这是唯一用于搜索的字段
据我了解,通过这种方式狮身人面像可以在一部电影的每个标题中搜索关键字的匹配项,但是有些电影具有2个标题,而另外一部电影则有10个标题。例如,由于关键字经常在一部电影的不同标题中重复,因此狮身人面像会计算结果相关权重取决于一部电影中所有标题的匹配情况。因此,应该具有相同相关性的两部电影具有不同的权重。我尝试使用不同的排名,但无论如何结果都是不好的。如何制作狮身人面像来分别计算一部电影的每个标题的权重,然后取最大的权重?
如果可以通过另一个搜索引擎更轻松地解决此任务,例如elasticsearch告诉我。
谢谢

最佳答案

您已经有效地创建了一个字段,其中仅包含和所有标题,这些标题串联为一个长字符串(定义中的“joined”)

因此,多标题电影将多次使用该词,正如您所说,这可能会影响排名。

您当前似乎已将狮身人面像文档设置为电影。也就是说,每部电影一个文档(无论该电影具有什么数据)

一种选择是更改为每个标题只有一个文档(即,电影/语言组合),然后排名将在一种语言之内。

因为您(大概)只希望每个电影一个结果,所以可以使用查询时间GROUP BY选项。 (这意味着确保您将movie_id作为attribute)

关于elasticsearch - Sphinx:如何更改默认排名方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36423885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com