Я новичок в поиске elastics и пытаюсь использовать elasticsearch, поиск api.Elasticsearch индекс ограничения по типу
Моя индексная структура состоит из типов деревьев. Скажем foo
, bar
и baz
. Все типы деревьев имеют одинаковое «имя» с строковыми значениями, и я пытаюсь найти все типы, но просто извлекаю максимум 5 элементов каждого типа.
Я думаю, что мне удалось использовать Multi Search API; Интересно, могу ли я поддерживать одну и ту же функциональность с единственным запросом (для лучшей производительности).
Я искал в Интернете столько, сколько смогу. Однако я не мог найти лучшего способа. В stackoverflow есть ответ с аналогичным вопросом, который также предлагает многопользовательский поиск api; но ему два года, и к нему прилагается проблема. Я подумал, что снова нужно спросить.
Вот msearch я использую в данный момент:
{"type" : "foo"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
{"type" : "bar"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
{"type" : "baz"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
Я думаю, что будет проверять все системы хранения данных в 3 раза, если я пишу запрос с макс 4 результатов.
Любая помощь приветствуется.
Какова основная причина, почему вы хотите изменить свой мульти-поисковый запрос, если он работает? Это слишком медленно? – Val
@Val Вы знаете, это инженерная проблема. Я пытаюсь оптимизировать, а также знаю и могу. –
Достаточно честный, мне было просто любопытно ;-) – Val