如何使用模糊和通配符查询来查询Elasticsearch嵌套对象

时间:2018-12-07 07:59:06

标签: elasticsearch elasticsearch-nested

{  
   "took":1,
   "timed_out":false,
   "_shards":{  
      "total":5,
      "successful":5,
      "skipped":0,
      "failed":0
   },
   "hits":{  
      "total":1,
      "max_score":1,
      "hits":[  
         {  
            "_index":"event_11",
            "_type":"_doc",
            "_id":"1",
            "_score":1,
            "_source":{  
               "title":"Event One",
               "comments":{  
                  "author":"Alvin",
                  "author_id":1
               }
            },
            "inner_hits":{  
               "comments":{  
                  "hits":{  
                     "total":1,
                     "max_score":1,
                     "hits":[  
                        {  
                           "_index":"event_11",
                           "_type":"_doc",
                           "_id":"1",
                           "_nested":{  
                              "field":"comments",
                              "offset":0
                           },
                           "_score":1,
                           "_source":{  
                              "author":"Alvin",
                              "author_id":1
                           }
                        }
                     ]
                  }
               }
            }
         }
      ]
   }
}

我正在尝试使用以下通配符查询来查询上述数据:

GET event_11/_search
{
  "query": {
    "nested": {
      "path": "comments",
        "query": {
          "wildcard": {
              "comments.author": "Al*"
          } 
        }
    }
  }
}

以上查询给出了空结果集。有人可以帮助我使用通配符和模糊性来修复搜索查询吗?我正在使用ElasticSearch 6和Kibana创建查询。 PHP SDK用于从PHP应用程序编写查询。

1 个答案:

答案 0 :(得分:0)

您可以尝试一下。

  {
    "query": {
      "nested": {
        "path": "comments",
        "query": {
          "bool": {
            "should": [
              {
                "wildcard": {
                  "comments.author": "real*"
                }
              },            
              {
                "match": {
                  "comments.author": {
                    "query": "reaa",
                    "fuzziness": "AUTO"
                  }
                }
              }
            ]
          }
        }
      }
    }
  }