Подтвердить что ты не робот

Как использовать отображение массива в 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"}
  }

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

4b9b3361

Ответ 1

Таким образом, ElasticSearch не нужно указывать, что отображение является массивом. Вы можете обрабатывать любое сопоставление в виде массива с помощью квадратных скобок:

{
    title: ["The Artist", "Formerly known as Prince" ],
    genres: ["Drama", "Comedy"],
    ...
}

См. Последнее предложение на странице:

Разумеется, мы могли бы назвать поле тегом и пропустить имя_индикатора вместе

Отображение "index_name" позволяет вам определить псевдоним во множественной форме тегов tag ->.