2016-06-29 13 views
1

Ich versuche eine Abfrage zu erstellen, die Query_string und Bool-Filter kombiniert. so etwas wie die Kombination von zwei Gebrüll:Kombination von query_string mit Bool-Filtern in Elasticsearch 2.x

1.

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

2.

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

aber durch die Kombination von zwei Abfrage Ich habe Fehler:

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

Diese kombinieren Abfrage ist:

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

Antwort

1

Sie sind fast da! query_string muss einfach auch in die bool/must gehen:

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