【发布时间】:2018-03-24 01:41:50
【问题描述】:
如何使用 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 的条目如何获得最高分?
【问题讨论】:
标签: date elasticsearch dsl