使用多语言后缀变体索引年龄字段

时间:2018-07-02 17:59:22

标签: elasticsearch

假设我有一个People索引,其中有类似的文档

{
  age: "23",
  prizes: "20",
  ...
}

我想用更复杂的自然语言查询来搜索某人

  

23岁

(这是一个自由文本搜索框,所以我不能指望用户按年龄搜索)

Elasticsearch将同等地关注所有令牌,并且有可能返回与顶部prizes = 23相同的顶部命中的age = 23文档。为了利用最常见的搜索模式,我想在years字段中使用23令牌产生更大的查询得分,以age值为值。

我将使用一个映射进行索引,该映射将导致将文档索引为:

{
  age: "23",
  age.en: "23 years",
  prizes: "20",
  ...
}

使用多值字段指定派生值。 (我假设这是可能的。)

但是我该如何对任何语言进行概括?是否应该为我想要的每种支持的语言创建派生的age.{lang}?在给定自然语言指示的情况下,是否有更简单的方法来实现对age字段进行优先级排序的原始目标?

0 个答案:

没有答案