2015-09-26 3 views
0

Я пытаюсь получить доступ к локальному экземпляру elasticserach через java api. Согласно elastic search doc, я могу использовать свойство «cluster.name», чтобы указать имя используемого кластера. Отлично. К сожалению, я не могу указать имя узла для использования? Я вижу, что эта конфигурация также настраивается в configuration. Может быть, это была бы плохая практика? Кроме того, я могу видеть here, что я могу определить пользовательский идентификатор службы, который я сделал, но как указать его моему транспортному клиенту java?Упругий поиск конкретной конфигурации java

Большое вам спасибо за помощь.

ответ

1

Весь смысл Elasticsearch заключается в создании кластера высокодоступных данных. Не все узлы содержат все данные, и не все узлы могут быть все время. Если вы хотите подключиться к одному узлу, указав его имя, и по какой-то причине этот узел опущен (он был убит, он обновляется, он повторно обновляется, данные стираются для переиндексации и т. Д.), Тогда ваш клиент не сможет запускать запросы и получать результаты.

Вместо этого, если вы подключитесь к кластеру, ES обязательно направит ваши запросы на узлы кластера, которые находятся вверх, независимо от состояния определенных узлов, которые могут быть недоступны. Поэтому наилучшей практикой является всегда подключаться через cluster.name, чтобы получить максимальную отдачу от вашего кластера ES.

Что касается `SERVICE_ID, это не то, что вы указываете в своем коде, это просто имя, которое вы хотите предоставить службе Elasticsearch при работе в Windows.

+0

Спасибо, но, зная это, я не получаю указание указать имя узла по умолчанию в моей конфигурации с эластичным поиском? Должен ли я позволить ES определять свое имя узла по умолчанию (символы чуда)? В каком случае люди будут использовать это свойство, если мы не будем использовать его? – Etienne

+0

Для идентификатора службы я подумал, что это позволяет мне запускать несколько экземпляров ES на одной машине и идентифицировать их. Поэтому я думал, что мой код будет указывать его для подключения к хорошему экземпляру. Если я не укажу, как мой ES-клиент знает, к какому экземпляру подключиться? Может быть, это порт, к которому мы подключаемся? Если я прав в этом вопросе, возможно, что-то, что я до сих пор не понял, это то, что я разрешаю по умолчанию «elasticsearch.yml» настраивать экземпляр с другим идентификатором службы. Для экземпляра ES XXX я должен создать XXX.yml? Большое спасибо. – Etienne

+0

Указание имени узла полезно только для того, чтобы лучше распознать их. Не все знают, какие символы Marvel и какие узлы они идентифицируют. – Val

Смежные вопросы