Как использовать отображение массива в ES?
Я хотел создать сопоставление для movies
которые выглядят так:
{
title: "The Artist",
genres: ["Drama", "Comedy"]
}
В документации ElasticSearch я вижу этот пример:
"properties" : {
"message" : {"type" : "string"},
"tags" : {"type" : "string", "index_name" : "tag"},
...
}
Однако теперь я смущен. То, что я ожидал увидеть, было:
"properties" : {
"message" : {"type" : "string"},
"tags" : {"type" : "array"}
}
Итак, почему в примере просто указывается ссылка на другой индекс? Как я могу определить этот индекс? Или, когда я буду использовать это отображение массива?
Ответы
Ответ 1
Таким образом, ElasticSearch не нужно указывать, что отображение является массивом. Вы можете обрабатывать любое сопоставление в виде массива с помощью квадратных скобок:
{
title: ["The Artist", "Formerly known as Prince" ],
genres: ["Drama", "Comedy"],
...
}
См. Последнее предложение на странице:
Разумеется, мы могли бы назвать поле тегом и пропустить имя_индикатора вместе
Отображение "index_name" позволяет вам определить псевдоним во множественной форме тегов tag ->.