Springasticsearch: создать индекс для каждого пользователя - PullRequest
0 голосов
/ 24 апреля 2018

Я создаю приложение, используя Spring boot иasticsearch (& spring-data -asticsearch).

У меня есть сущность Пользователь, которая содержит список регионов (т.е. каждый пользователь отвечает за набор регионов).

У меня есть другой отчет об объекте, связанный с регионом (т. Е. Каждый отчет имеет регион)

Я хочу создать индексы отчета для каждого пользователя. Таким образом, каждый индекс содержит только отчеты о регионах, за которые отвечает пользователь.

Таким образом, когда пользователь ищет отчет, поиск применяется только по его индексу.

Кроме того, эти индексы должны быть динамическими (т. Е. Обновляться, если изменяются регионы пользователя или добавляются новые отчеты).

Как мне этого добиться? Спасибо за вашу помощь

1 Ответ

0 голосов
/ 07 июня 2018

почему бы вам не смоделировать пользователя таким образом, чтобы информация, связанная с пользователем, сохранялась в строке (документе), я думаю, что вложенные поля - это хорошая идея, и их можно искать с помощью вложенного запроса, так что

например, каждый пользователь отвечает за набор регионов, поэтому регионы могут быть вложены в пользователя, так как регионы вложены, они будут храниться как отдельный документ

@Field(type=FieldType.Nested)
private Set<Regions> regions;

во-вторых, я недумаю, что создание нового индекса каждый раз - хорошая идея

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...