[英]Elasticsearch nested query and filter
我有以下Elasticsearch映射:
"show": {
"properties": {
"startsAt": {
"type": "date"
},
"venue": {
"type": "nested",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string",
"index": "no"
},
"location": {
"type": "geo_point",
"lat_lon": true
},
"section": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
我想使用show.startsAt
, show.venue.location
和show.venue.section
屬性找到完全匹配的show.startsAt
。 我一直在嘗試下面的查詢,但沒有考慮show.venue.section
。
bool: {
must: [
{match: {startsAt: starts}},
{
nested: {
path: 'venue',
query: {
match: {'venue.section': section}
},
filter: {
geo_distance: {
distance: '1m',
'venue.location': location
}
}
}
}
]
}
這個查詢對我有用:
query: {
bool: {
must: [
{match: {startsAt: starts}},
{
nested: {
path: 'venue',
filter: {
bool: {
must: [
{
geo_distance: {
distance: '1m',
'venue.location': location
}
},
{
term: {'venue.section': section}
}
]
}
}
}
}
]
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.