документация Elasticsearch для Index Aliases говорит:Являются ли индексы псевдонимами и конечными точками индексов в Elasticsearch точно так же?
указателя псевдонимы API позволяет псевдоним индекса с именем, все API, автоматически преобразовывать псевдоним к действительному имени индекса. Псевдоним также может быть сопоставлен более чем с одним индексом, а при указании псевдоним автоматически расширится до псевдонимов .
И документация Multiple Indices говорит:
Большинство API-интерфейсы, относящиеся к исполнению
index
параметра поддержки через нескольких индексов, используя простыеtest1,test2,test3
обозначения (или_all
для всех индексов). Он также поддерживает подстановочные знаки, например:test*
и способность «добавить» (+
) и «удалить» (-
), например:+test*,-test3
.
Сценарий № 1
У вас есть 12 месячных индексов с 2014 года каждый из которых назван с шаблоном даты, например,
someprefix_2014-07
Вы сопоставляете все эти индексы с псевдонимом с именем
2014
.Оба эти запросы будут возвращать тот же результат:
$ curl -XGET http://localhost:9200/someprefix_2014-*/_stats
$ curl -XGET http://localhost:9200/2014/_stats
Сценарий # 2
В вашем кластере имеется 24 ежемесячных индекса, и вы решите, что хотите нацелить их на всех.
Все эти запросы будут возвращать тот же результат:
$ curl -XGET http://localhost:9200/_stats
$ curl -XGET http://localhost:9200/_all/_stats
$ curl -XGET http://localhost:9200/*/_stats
$ curl -XGET http://localhost:9200/someprefix_*/_stats
Мой вопрос
ли все эти методы делают то же самое «под капотом», или есть один, который можно ожидать более высокую производительность, чем другие?
Я спрашиваю, потому что я читал Wildcard Queries быть общим узким местом в производительности, но я никогда не видел какое-либо подобное предупреждения для использования псевдонимов или групповых символов в индексных конечных точках - или различая псевдонимы по умолчанию (например, _all
) из пользовательских единиц.
Большое спасибо за понимание! Плюс именно то, что я хотел услышать :-) –
Это лучшие ответы! :) – Zach