Bir tür dizin için maksimum kimliği etkin bir şekilde nasıl alınır?Elasticsearch Maksimum kimlik nasıl alınır
7
A
cevap
3
Top _id türünü almak ister misiniz?
{
"fields": [
"_id"
],
"query": {
"match_all": {}
},
"sort": {
"_id": "desc"
},
"size": 1
}
3
Bu sorguyu 1.4.2'de test ettim. Herhangi bir haritalama ile çalışmalıdır, çünkü sadece ElasticSearch ID'de yerleşik olarak sıralayabilirsiniz. Kendi kimlik alanınızı kullanıyorsanız, haritanıza bağlı olarak çalışmayabilir veya çalışmayabilir. Bunu dene ve nasıl çalıştığını bana bildirin.
senin tipin fruit
denir varsayarak: Ayrıca, bir belgede belirli bir alanının maksimum değeri elde etmek Max Aggregation (1.3 beri) kullanabilirsiniz
{
'filter': {
'type' : {
'value' : 'fruit'
}
},
'sort': {
'_id': {
'order': 'desc'
}
},
'size': 1
}
7
.
curl localhost:9200/myindex/mytype/_search -d
'{
"aggs" : {
"max_id" : {
"max" : {
"field" : "id"
}
}
},
"size":0
}'
döndürür:
{
"took":7,
"timed_out":false,
"_shards": {
"total":6,
"successful":6,
"failed":0
},
"hits": {
"total":22,
"max_score":0.0,
"hits": []
},
"aggregations": {
"max_id": {
"value": 27.0
}
}
}
Benim durumumda maksimum id olduğunu.
1
{
"fields": [
"_uid"
],
"query": {
"match_all": {}
},
"size": 1,
"sort": [ { "_uid" : { "order" : "desc"} } ]
}