2015-02-18 3 views
2

У меня есть общий термин, например, так.Как добавить несколько полей в запрос общих терминов в ElasticSearch?

{ 
    "query" : { 
     "common" : { 
      "DocumentData.OCR_Text" : { 
       "query" : "block 310 luis", 
       "cutoff_frequency" : 0.001 
      } 
     } 
    } 
} 

Я хочу найти по 2 или нескольких полям, но это дает мне ошибку.

{ 
    "query" : { 
     "common" : { 
      "Grantors" : { 
        "query" : "block 310 luis", 
        "cutoff_frequency" : 0.001 
       }, 
      "DocumentData.OCR_Text" : { 
       "query" : "block 310 luis", 
       "cutoff_frequency" : 0.001 
      } 
     } 
    } 
} 

вложенная: ElasticsearchParseException [Ожидаемое имя поля, но получил START_OBJECT "DocumentData.OCR_Text"];

Как вы это сделаете?

ответ

5

Вы должны обернуть его в Bool Query

{ 
    "query": { 
     "bool": { 
      "should": [ 
       { 
        "common": { 
         "Grantors": { 
          "query": "block 310 luis", 
          "cutoff_frequency": 0.001 
         } 
        } 
       }, 
       { 
        "common": { 
         "DocumentData.OCR_Text": { 
          "query": "block 310 luis", 
          "cutoff_frequency": 0.001 
         } 
        } 
       } 
      ] 
     } 
    } 
}