2014-01-31 4 views
1

Я новичок в поиске elastics. Мне нужно уточнение. Я могу понять, как работает маршрутизация, но у меня есть вопрос.Поле множественной маршрутизации в elasticsearch

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

Imagine У меня 5 полей: [username,id,age,dept,salary]. Теперь мне нужно создать значение маршрутизации для этого документа. Могу ли я сделать это с помощью полей username и id?

Заранее спасибо.

+1

Я не следую вашему вопросу. Пожалуйста, объясните подробнее – DrTech

+0

@DrTech отредактировал мой вопрос с примером. – BlackPOP

ответ

1

В ответ на ваш вопрос: нет, вы не можете автоматически использовать несколько полей для значения маршрутизации при индексировании документа. Вы можете выбрать одно и только одно поле, и это поле должно содержать одно значение.

Однако, вы можете вручную сцепить поле username и id и передать его в запросе индексирования:

PUT /index/type/id?routing=username_id 
{ body } 

Тем не менее, маршрутизация является возможность для более продвинутых пользователей. Это очень полезно, но делает жизнь более сложной. Вы говорите, что вы новичок, поэтому я предлагаю не играть с маршрутизацией. Это может произойти, если вы используете кластер из 50 узлов.

+0

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

+0

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

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