日期时间字段的模糊性

Fuzziness in date type filed

我的映射中有日期字段,我想对我的字段进行模糊搜索 下面是我的代码

GET _search
  {
       "query": {
        "fuzzy": {
             "death_date": {
              "value": "3548"              

         }
     }
   }
}

当前结果不return 数据符合预期。 虽然我有 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"
           }
          }
         }
      }
      }
     }

正在returning数据marriages.marriage_year=“1630”以玛丽为first_name为最高score.I还想包括marriages.marriage_year1620之间- 结果中未显示 1740 个。它仅显示 marraige_year 1630

的数据

模糊查询旨在处理字符串字段以适应输入错误。它根据编辑距离为您提供结果。
在数字字段上使用它没有意义。作为 1000,9000 只有距离 1,但它们相距很远。您可以按照 Russ 的建议进行范围查询,或者如果您对编辑距离而不是范围感到困扰,请将其索引为字符串字段,然后进行模糊查询。