有人可以指出这两个查询之间的差异吗?
'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,查询,术语超出我能处理的范围,所以也许我这样做只是明显错误。还有更好的方法吗?