如何使用 elasticsearch 搜索特定年龄的人?因此,如果我输入 28 作为年龄,我希望 28 岁的人得分最高,但也希望显示 27 岁的人,但得分较低。生日以以下格式存储 yyyy-mm-dd,所以我必须将年龄转换为日期,但这没问题。
到目前为止,我有以下内容:
{
"query": {
"fuzzy": {
"birthdate": {
"value": "1985-10-01",
"min_similarity": "1096d"
}
}
}
}
1096d 的 min_similarity 表示出生于 1985 年 10 月 1 日 +/- 3 年的人。
所以所有出生在 1982 年到 1988 年之间的人都会被显示出来——这很好用,但他们都有相同的 1.0 分。如何获得最接近 1985-10-01 生日的条目的最高分?