我试图获取具有特定属性的第一个文档。 例如,我有50个带有属性的文档" a":" 1",具有不同的日期。 还有100个文档" a":" 2" 有没有办法查询每个" a"的第一个文档?按日期计算价值?
答案 0 :(得分:0)
不完全符合您的要求,但您可以运行以下内容,它会显示与: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