#elasticsearch
#elasticsearch
Вопрос:
когда я использую клиент высокого уровня ElasticSearch, отправляя asyncSearch, я иногда получал неправильный ответ. Это общее количество сегментов> 0, но успешное и неудачное равно 0, и я не могу найти ни одного журнала об этом поиске. например, журнал searchBuilder выглядит следующим образом:
{
"size": 0,
"query": {...},
"aggregations": {
"term0": {
"filter": {
"match_all": {
"boost": 1
}
},
"aggregations": {
"countCOUNT_DISTINCTdid": {
"cardinality": {
"field": "did",
"precision_threshold": 40000
}
}
}
}
}
}
Затем получите неправильное содержимое ответа:
{
"took": 1002,
"timed_out": false,
"terminated_early": false,
"num_reduce_phases": 0,
"_shards": {
"total": 20,
"successful": 0,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 0,
"relation": "gte"
},
"max_score": null,
"hits": []
}
}
Но при запросе на Kibana, как указано выше, правильный результат:
{
"took" : 231,
"timed_out" : false,
"_shards" : {
"total" : 20,
"successful" : 20,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 10000,
"relation" : "gte"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"term0" : {
"doc_count" : 8526098,
"countCOUNT_DISTINCTdid" : {
"value" : 3929368
}
}
}
}
кстати, другой поисковый запрос одновременно с использованием того же клиента в порядке.
Почему это происходит и как этого избежать? Большое спасибо за любые подсказки