查询url配置:http://10.10.10.10:0000/_index/_type 使用elasticsearch插件试用http://10.10.10.10:0000/_index可以正常查询,谷歌插件Postman也可以查询es数据.url配置http://10.10.10.10:0000/_index/_search
数据格式如下:
{
"_index": "test",
"_type": "info",
"_id": "AWjrdUQcjGGG",
"_score": 2.8318796,
"_source": {
"City":{
"name":"shenzhen"
}
"Province":{
"name":"guangdong"
}
"id": 1
}
}
City与Province为同级。
查询方法:
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "City",
"query": {
"bool": {
"must": [
{
"match": {
"City.name": "shenzhen"
}
}
]
}
}
}
},{
"nested": {
"path": "Province",
"query": {
"bool": {
"must": [
{
"match": {
"Province.name": "guangdong"
}
}
]
}
}
}
}
],
"must_not": [],
"should": []
}
},
"from": 0,
"size": 10,
"sort": [],
"aggs": {},
"_source": {
"includes": [],
"excludes": []
}
}
注意是:
{
"query": {
"bool": {
"must": [
{
"nested": {
}
},{
"nested": {
}
}
],
"must_not": [],
"should": []
}
},
"from": 0,
"size": 10,
"sort": [],
"aggs": {},
"_source": {
"includes": [],
"excludes": []
}
}
内部详细解释:
"must": [
{
"nested": {
}
},{
"nested": {
}
}
]
里面同时包含并行的nested。
错误示例,位置放错如:
"must": [
{
"nested": {
},
"nested": {
}
}
]
会造成第一个nested里的query会被第二个nested的query覆盖。
查询非嵌套字段:
{
"query": {
"bool": {
"must": [{
"terms": {
"id": ["1"]
}
}],
"must_not": [],
"should": []
}
},
"from": 0,
"size": 10,
"sort": [],
"aggs": {},
"_source": {
"includes": [
],
"excludes": []
}
}
官方指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html