我有日期字段,该字段与以下映射一起存储:

"RecordedDate": {
                  "type": "string",
                  "analyzer": "DateAndNumber"
               }

这是分析器:
 "DateAndNumber": {
                     "pattern": "([/\\-]+)",
                     "type": "pattern"
                  }

当我使用以下查询进行搜索时:
"query": {
    "query_string": {
        "default_field": "RecordedDate",
      "query": "RecordedDate:2\\/2\\/1902",
      "default_operator": "and"
}

我有很多不相关的搜索结果,其中包含21902术语。例如:2/18/19025/2/1902而不是2/2/1902

是否有任何方法可以使分析仪也将术语位置/偏移考虑在内?

最佳答案

您可以在建议的查询中将auto_generate_phrase_queries设置为true。您可以在docs中找到更多详细信息。如果这对您不起作用,您也可以直接使用词组查询-phrase query完全可以满足您的要求。

如果您的DateAndNumber字段中只有日期,则最好使用 date 类型的字段。

08-28 14:07