0

假设我们有一个包含人名和别名数组的文档,如下所示:

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

假设我有一个包含 10 个别名的文档和另一个包含 2 个别名的文档,但它们都包含带有 value 的别名کریستیان

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

有时我想为不同语言和不同形式的人添加更多别名,因为他/她更有名,但这会导致结果得分较低。我想以某种方式length of the aliases field退出我的查询计算。

4

1 回答 1

1

规范 存储字段的相对长度。

场地有多长?字段越短,权重越高。如果一个术语出现在一个较短的字段中,例如标题字段,则该字段的内容更有可能与该术语有关,而不是相同的术语出现在一个更大的正文字段中。

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

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

进一步学习的链接

  1. https://www.elastic.co/guide/en/elasticsearch/guide/current/scoring-theory.html#field-norm
于 2020-05-19T08:18:19.197 回答