Как «соединить» 2 индекса и поиск в ElasticSearch?

Предположим, у меня есть индекс под названием "сообщения" со следующими свойствами:

{
    "uid": "<user id>",
    "date": "<some date>",
    "message": "<some message>"
}

И еще один индекс под названием «пользователи» со следующими свойствами:

{
    "uid": "<user id>",
    "gender": "Male"
}

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

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

Вы хотели бы использовать отображение родитель-потомок elastic.co/guide/en/elasticsearch/reference/current/…

sramalingam24 25.10.2018 06:47

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

Val 25.10.2018 06:57
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
0
2
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Elasticsearch до сих пор не поддерживает межиндексные отношения. Существует тип данных join, но он поддерживает только поля в пределах одного индекса.

Другие вопросы по теме