假设我有一个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
字段进行优先级排序的原始目标?