У меня есть поле даты в моем сопоставлении, и я хочу выполнить нечеткий поиск в своем поле. Ниже приведен мой код.
GET _search
{
"query": {
"fuzzy": {
"death_date": {
"value": "3548"
}
}
}
}
Текущий результат не возвращает данные в соответствии с ожиданиями. Хотя у меня есть значение 3548, его оценка меньше, чем значение 3549, которое отображается в верхней части результата. Я изменил свой запрос, чтобы включить параметр диапазона, как было предложено.
GET _search
{
"query" : {
"bool": {
"must":
{
"match": {
"marriages.marriage_year": "1630"
}
},
"should":
{
"match": {
"first_name":
{ "query" : "mary",
"fuzziness":"2"
}
}
},
"must":
{
"range" : {
"marriages.marriage_year": {
"gt" : "1620",
"lte" : "1740"
}
}
}
}
}
}
Он возвращает данные с Marriage_year = "1630" с Марией как first_name как наивысший балл. Я также хочу включить Marriage_year между 1620 и 1740 годами, которые не отображаются в результатах. Он показывает данные только за marraige_year 1630.
date
. Вероятно, вам нуженrange
запрос: elastic.co/guide/en/elasticsearch/reference/current/ - person Russ Cam   schedule 08.05.2017