【问题标题】:Conversion of max_score field in elasticsearch to a percentageelasticsearch中max_score字段转换为百分比
【发布时间】:2020-11-04 03:20:13
【问题描述】:

是否有任何算法可以将在 elasticsearch 中进行的搜索的 max_score 转换为百分比分数?请提出一些想法。

【问题讨论】:

  • 我不知道。你能详细说明用例吗?为什么不在查询解决后对其进行后处理?
  • 用例主要是解决搜索结果中的零命中问题,为此我做了一个自定义分析器,并在其中使用了同义词过滤器,
  • 我必须比较两个不同的查询,一个是我写的,另一个是别人已经写的。在这两种情况下,用例基本上是为了解决搜索结果中的零命中问题,为此我做了一个自定义分析器并在其中使用了同义词过滤器:``` "hits" : { "total" : { "value" : 18, "relation" : "eq" }, "max_score" : 2.7050395, ```这个结果是我对文档进行查询
  • 查询解决后如何进行后期处理?有什么想法吗?
  • 我实际上想让我的 max_score 以百分比的形式更具代表性,以便我可以进行比较,但我找不到任何将其转换为百分比的想法,需要帮助。

标签: algorithm elasticsearch search kibana


【解决方案1】:

得分值(加上得到的max_score)是任意的,不一定需要(通常也不)在区间 0 420 或 @ 987654323@.

话虽如此,为了计算百分比,您需要一个分母。您的示例中2.7050 的最高分数可以视为 2.7%,但如果其他查询的分数在数百范围内且您的分母为 1000,则也可以视为 0.27%。

所以我所说的后处理的意思是,当您从 ES 获得对您从(后端/前端/...)运行查询的任何位置的响应时,您需要知道分母,然后才能确定百分比。在 ES 中直接存在这样的功能是没有必要的。

【讨论】:

  • 我应该在哪个字段中查找分母?我应该查找运行搜索查询后返回的文档数吗?
  • 有没有其他方法可以得到百分比的相似度分数?与针对同一用例的其他现有查询相比,我可以使用一个百分比来表示我的查询的运行情况?
  • 就像我们在比较 ML 模型的准确率百分比时所做的那样......这里我想要一种方法来将我的文档相似度分数显示为百分比。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
  • 2019-07-03
相关资源
最近更新 更多