天天看点

elasticsearch查询报no [query] registered for [filtered]

这是因为从es的5.0版本开始,原先的filtered语句,形如

{
	"query": {
		"filtered": {
			"bool": {
				"filter": {
					"range": {
						"age": {
							"gt": 26
						}
					}
				},
				"must": {
					"match": {
						"last_name": "smith"
					}
				}
			}
		}
	}
}
           

被淘汰,对应的替换语法是

{
	"query": {
		"bool": {
			"filter": {
				"range": {
					"age": {
						"gt": 26
					}
				}
			},
			"must": {
				"match": {
					"last_name": "smith"
				}
			}
		}
	}
}