如何将(别名字段的长度)从分数计算中移除。

问题描述 投票:0回答:1

假设我们有一个文档,里面有很多人的名字和别名,像这样的数组,我有一个有10个别名的文档,还有一个有2个别名的文档,但是这两个别名都有值。

{
   name: "Christian",
   aliases: ["נוצרי", "کریستیان" ]
}

假设我有一个有10个别名的文件 和另一个有2个别名的文件 但这两个文件都包含了别名的值: کریستیان.

length of field (dl) 第一份文件比第二份文件大。term frequency (tf) 最终,别名较少的文档的分数比另一个大。

有时候,我想为不同语言和不同形式的人添加更多的别名,因为他比较有名,但这会导致结果中的分数降低。我想以某种方式采取 length of the aliases field 从我的查询计算中删除。

elasticsearch search elasticsearch-7
1个回答
1
投票

准则存储字段的相对长度。

字段有多长?字段越短,权重越高。 如果一个术语出现在一个短的字段中,比如标题字段,那么该字段的内容就比同样的术语出现在一个大得多的正文字段中更有可能是关于这个术语的。

可以使用PUT映射api来禁用规范。

PUT my_index/_mapping
{
  "properties": {
    "title": {
      "type": "text",
      "norms": false
    }
  }
}

供进一步研究的链接

  1. https:/www.elastic.coguideenelasticsearchguidecurrentscoring-theory.html#field-norm
© www.soinside.com 2019 - 2024. All rights reserved.