我有一个带有嵌套字段events
和字段team_id
的模型。这些嵌套的事件可能非常庞大,我想对此做些事情。
仅返回具有特定team_id
的事件,该事件与下面的查询无关,该查询返回所有事件
使用inner_hits
进行排序,限制大小和偏移量,也可以通过发送size
和from
参数而没有运气来尝试
我在Ruby中使用elasticsearch 5
Model.search(
query: {
bool:{
must: [
{ match: { "_id": "zzzzzzz" }},
nested: {
path: "events",
query: {
match: { "events.team_id": "sdlfjslasdfj" }
},
inner_hits: {}
}
]
}
}
)
答案 0 :(得分:0)
使用elasticsearch-api
宝石使其正常工作
https://github.com/elastic/elasticsearch-ruby/tree/master/elasticsearch-api
response = client.search index: 'index_name',
body: {
"_source": false,
"query": {
"nested": {
"path": "events",
"query": {
"bool": {
"must":[
{"match": {"events.team_id": "xyz"}},
{"match": {"_id": "sdlfjslasdfj"}}
]
}
},
"inner_hits": {
"size": 10,
"from": 0,
"sort": [{ "events.starts_at": "asc" }]
}
}
}
}