将query_string与Elasticsearch 2.x中的bool过滤器结合使用

时间:2016-06-29 08:38:17

标签: elasticsearch

我尝试组合query_string和bool过滤器进行查询。比如结合两个轰鸣声:

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 个答案:

答案 0 :(得分:1)

你快到了! query_string只需要进入bool/must

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