我正在尝试获取具有特定属性的第一个文档。例如,我有50个文档,属性为"a":"1",日期不同。还有100个单据带"a":"2“,有没有办法按日期查询每个"a”值的第一个单据?
发布于 2016-06-07 04:11:39
这并不完全是您想要的结果,但是您可以运行以下命令,它将显示与a:1或a:2匹配的结果,并根据您的需要对结果进行排序。
{
"sort": {
"your_timestamp_field": {
"order": "desc"
}
},
"query": {
"filtered": {
"filter": {
"or": [
{
"term": {
"a": 1
}
},
{
"term": {
"a": 2
}
}
]
}
}
}
}您还可以使用msearch运行多个查询。例如
将以下内容放在名为requests的文件中
{"index": "your-index"}
{"size":1,"sort":{"@timestamp":{"order":"desc"}},"query":{"filtered":{"filter":{"term":{"a":"1"}}}}}
{"index": "your-index"}
{"size":1,"sort":{"@timestamp":{"order":"desc"}},"query":{"filtered":{"filter":{"term":{"a":"2"}}}}}然后运行
curl -XGET http://localhost:9200/your-index/_msearch --data-binary @requests; echo
https://stackoverflow.com/questions/37665507
复制相似问题