gpt4 book ai didi

full-text-search - ElasticSearch —有什么方法可以检索多个结果集或fascets的最高结果?

转载 作者:行者123 更新时间:2023-12-02 22:20:58 25 4
gpt4 key购买 nike

我很好奇是否有一种查询ElasticSearch的方法,以便它会返回各种fascets的顶级结果。例如,假设我们有一些用户在写推文,

user: kimchy
user_eye_color: blue
tweet: elasticsearch training early bird discounts

# Lots of other message from blue eye color users mentioning 'bird'

user: lord_oliver
user_eye_color: amber-green
tweet: vanquished and consumed the twitter bird. today is a good day.

如果有足够多的使用 blue的用户(或其他比 amber-green更常见的颜色)编写提及“bird”的推文,则即使“Oliver”的推文得分相当高,搜索“bird”也不会浮出水面。

这是一个问题,因为[在这个假设的示例中]我想展示来自不同用户的结果。当前的一种解决方案是在眼睛的颜色上添加多个方面,
facets:
eye_color:
terms: {"field": "user_eye_color"}

然后再执行多个过滤的搜索。但是,这似乎效率很低。

问题:ElasticSearch中是否有任何方法可以通过从不同方面返回顶级结果(在本例中为 user_eye_color=amber-green),编写有状态的自定义评分函数或其他任何创造性的解决方案来返回多个结果集?

我为什么要这样做的理由是,有时很难在所有搜索结果中加上总的顺序(浮点分数)。假设所有 amber-green眼睛颜色的使用者都碰巧是猫,并且他们编写了不同类型的文档(推文)。我不希望将所有用猫写的文档与所有文档一起按总顺序排列,而是要使用经过优化的文档-在 X -eye-color类别中是最佳文档。然后,我可以进行更明智的后过滤,例如,如果没有任何好处,则丢弃用猫写的文档,否则进行某种明智的结果交织。降低某种分数乘数(基于眼睛的颜色)可能会不太有效。

如果您不喜欢我的玩具示例(或其讽刺作品),请考虑使用不同文档类型的索引(例如推文和FBI报告)的情况...

最佳答案

现在可以使用top hits aggregation完成。

关于full-text-search - ElasticSearch —有什么方法可以检索多个结果集或fascets的最高结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14098560/

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