эластичный поиск в json строке (и / или) - PullRequest
0 голосов
/ 07 января 2020

Я новичок в AWSasticsearch, но мне нужно создать запросы для поиска следующих данных с другими критериями.

  1. search_metadata (json строка с парой ключ / значение) - "{\"number\":\"111\"; \"area\":\"central\"; "\code\":\"1111\"; \"type\":\"internal\"}"
  2. категория - "statement" or "bill" or "email"
  3. datetime - "2019-05-04T00:00:00" or "2019-07-16T00:01:00"
  4. flag - "good" or "bad"

Мне нужно создать запрос для выполнения следующих условий

  1. ИЛИ ИЛИ в поле search_metadata (JSON строка) -> не знаю, как это сделать.
  2. вместе с условием AND для категории, диапазона времени и флага. -> Нужно ли использовать мульти-совпадение для флага и категории?

       "query": {
       "bool": {
         "must": [
          {
            "match_phrase": {
              "search_metadata": "number 111"  --> not sure about AND or OR with "area" and others          
            }
          },     
         {
          "range": {
            "datetime": {
              "gte": "2019-05-04T00:00:00Z",
              "lte": "2019-07-16T00:01:00Z"
            }
           }
         }  
         ]
        }
       }
      }
    
...