gpt4 book ai didi

Elasticsearch - 查询分数的查找值

转载 作者:行者123 更新时间:2023-12-02 23:38:47 24 4
gpt4 key购买 nike

我正在使用带有自定义脚本的 Elasticsearch 。我需要根据另一个索引中定义的另一个值创建一个自定义分数。我们称这个值为“排名”。分数应如下所示:

Math.log(_score * 2) + doc['ranking'].value

排名取决于正在评分的类型中的提供者字段。我的问题是,从那时起排名在另一个索引中,它不会检索值。进行此类评分的最佳方法是什么?另外,如何才能缓存结果。例如,无论如何在 mvel 中都可以根据 redis 键值对检索值。

最佳答案

  • 你必须忘记 mvel :)
  • 您应该使用 Groovy 脚本

  • 您可以查看此链接以了解缓存技术 https://github.com/imotov/elasticsearch-native-script-example/blob/master/src/main/java/org/elasticsearch/examples/nativescript/script/LookupScript.java ,但它是 native java 插件。虽然它可以被翻译成 groovy 脚本实例。

    另一种方式(但取决于您的索引关系,例如父/子),您可以使用 has_child查询使用 score字段作为索引之间的传输 block ,但这太有限了。

    关于Elasticsearch - 查询分数的查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26327634/

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