在Elasticsearch中使用regexp搜索密钥

时间:2014-01-19 21:46:50

标签: elasticsearch

以下是我的文档,我想使用这样的正则表达式搜索值“availability”:

"regexp" : { 
    "availability": {
    "value": "2014-*-10"
    }
}

我的文件:

{
   "_index": "testing",
   "_type": "test",
   "_id": "1",
   "_version": 1,
   "exists": true,
   "_source": {
      "id": 1,
      "title": "Test",
      "availability": {
         "2014-02-15": {
            ["1", "2"]
         },
         "2014-02-14": {
            ["1", "2", "3"]
         },
         "2014-03-15": {
            ["1"]
         },
         "2014-03-14": {
            ["1", "2", "3"]
         }
      }
   }
}

如何在正常值(不是数组)下搜索密钥(正则表达式)?

1 个答案:

答案 0 :(得分:1)

解决方案是使用带有*通配符的“default_field”,如下所示:

{
   "query" : {
        "query_string": {
            "default_field": "availability.2014-*-13.*",
            "query": "1"
        }

    }
}