2016-05-20 3 views
0

Обычно я запрашиваю ES по _type, поэтому мне интересно, использую ли параметр _type в качестве параметра маршрутизации, будет ли это лучше читать/писать? Например: PUT my_index/my_type/1 маршрутизация = _typeДолжен ли я использовать ElasticSearch _type в качестве маршрутизации

Моя ситуация такова, что для некоторых _types у меня есть только несколько миллионов докторов в то время как другие _types я могу иметь несколько миллиардов документов, но они все в одном? индекс. Я боюсь, что небольшие узлы _types расположены на каждом узле, что может привести к плохой производительности чтения. Поэтому я предпочитаю, чтобы маленькие _types находились только на двух или трех узлах не всех узлов в кластере.

+0

Ваш вопрос слишком расплывчатый. Ответ зависит от вашего варианта использования. Пожалуйста, объясните немного подробнее, что вы пытаетесь достичь. Таким образом, трудно ответить на ваш вопрос. – Val

+0

Спасибо Val, я изменил свой вопрос. – Jack

ответ

1

Параметр routing не предназначен для выделения индексов определенным узлам, а для выделения документов для конкретных осколков в индексе.

Если вы хотите выделить свой индекс одному или двум конкретным узлам, вы можете использовать shard allocation filtering, где вы можете указать, на каком узле могут располагаться осколки данного индекса.

Например, если вы решили, что ваш маленький индекс может быть только на 192.168.1.1 и 192.168.1.2, вы бы выполнить следующую команду:

PUT my_index/_settings 
{ 
    "index.routing.allocation.include._ip": "192.168.1.1,192.168.1.2" 
} 

После выполнения этой команды вы увидите все осколки my_index перераспределяется на 192.168.1.1 или 192.168.1.2, но не на другие узлы кластера.

+0

Я не могу понять, почему людям нужно направлять свои данные на разные осколки, я понимаю, что люди перенаправляют данные на другой осколок только для маршрутизации своих данных на другой узел. – Jack

+1

Пользователь ES [hot blog post] (https://www.elastic.co/blog/customizing-your-document-routing), который объясняет, почему и когда можно использовать маршрутизацию. Также взгляните на [слайд 31 этой презентации] (http://fr.slideshare.net/ABCTalks/elastic-search-overview), который визуально показывает, что такое маршрутизация. – Val