两个Elasticsearch查询的差异

时间:2014-09-13 10:31:28

标签: elasticsearch

有人可以指出这两个查询之间的差异吗?

'filtered': {
  'filter': {
    'bool': {
      'must': [
        { 'query': { 'match': { '_all':  query } } },
        { 'term': { 'status': true } },
        { 'range': { 'published_at': { 'lte': 'now' } } }
      ]
    }
  }
}

'filtered': {
  'query': {
    'match': { '_all':  query }
  },
  'filter': {
    'bool': {
      'must': [
        { 'term': { 'status': true } },
        { 'range': { 'published_at': { 'lte': 'now' } } }
      ]
    }
  }
}

来自MySQL背景,它类似于SELECT * FROM table WHERE MATCH (fields) AGAINST (query) AND status=1 AND published_at <= NOW()

另外,我一直在搞乱过滤器,bool,查询,术语超出我能处理的范围,所以也许我这样做只是明显错误。还有更好的方法吗?

0 个答案:

没有答案