2016-06-29 3 views
1

Я пытаюсь выполнить запрос, объединяющий фильтры query_string и bool. что-то вроде объединения двух ниже:Объединение query_string с фильтрами bool в Elasticsearch 2.x

1.

'query': { 
     'query_string': { 
      'query': "Blah Blah", 
     } 
    }, 

2.

'query': { 
    'bool': { 
     'must': [ 
      { 
        'terms': { 
         'newsline': ['blah'] 
        } 
      } 
     ] 
    } 
} 

но комбинируя два запроса у меня есть ошибка:

'failed to parse search source. expected field name but got [START_OBJECT]' 

Это скомбинировать запрос:

'query': { 
     'query_string': { 
      'query': "Blah Blah", 
     }, 
     'bool': { 
      'must': [ 
        { 
        'terms': { 
         'newsline': ['blah'] 
         } 
        } 
      ] 
     } 
    }, 

ответ

1

Вы почти у цели! query_string просто необходимо зайти внутрь bool/must:

'query': { 
    'bool': { 
     'must': [ 
       { 
       'query_string': { 
        'query': "Blah Blah", 
       } 
       }, 
       { 
       'terms': { 
        'newsline': ['blah'] 
        } 
       } 
     ] 
    } 
}, 
Смежные вопросы