我正在尝试结合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']
                      }
                  }
             ]
        }
    },

最佳答案

你快到了! query_string也只需要放在bool/must内部:

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

关于elasticsearch - 在Elasticsearch 2.x中将query_string与bool过滤器结合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38094387/

10-10 11:41