ElasticSearch:操作员异常

时间:2015-12-09 23:08:23

标签: exception search elasticsearch find operator-keyword

我有以下代码在_all字段中查询,包括第一个,最后一个和出生日期:

POST /user/_search
{
    "query": {
        "match": {
           "_all": {
               "query": "John Doe 08/11/1992",
               "operator": "and"
           }
        }
    }
}

它工作正常,但我有一个特殊情况,如果您查询的日期不是记录中的匹配但是是1/11/1111那么它应该返回用户匹配。例如:

 POST /user/_search
    {
        "query": {
            "match": {
               "_all": {
                   "query": "John Doe 11/11/111",
                   "operator": "and"
               }
            }
        }
    }

即使正确的生日是08/11/1992,也应找到该文件。如何处理这个例外?

1 个答案:

答案 0 :(得分:0)

使用'或'在查询中。如果这返回到许多不相关的结果,则尝试Bool Query并拆分名称和日期。然后,您可以匹配确切的名称,并且仅匹配日期的部分。