2
Допустим, у меня есть этот шаблонElasticSearch - создать шаблон для соответствия объекту по шаблону имени объекта?
{
"template" : "te*",
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"type1" : {
properties":{"TemplateField":{"enabled": false },.... }
}
}
}
Это соответствует индексы, которые соответствуют шаблону Te *.
Я хочу внутри Indice, чтобы соответствовать только тип объекта, который там зовут eqaul к TypeA, TypeB, TypeF
то, что будет выглядеть
{
"template" : "te*",
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"typeA, TypeB, TypeC" : {
properties":{"TemplateField":{"enabled": false },.... }
}
}
}
Спасибо. Есть ли способ повторить шаблон (если у меня есть несколько полей в свойствах)? – Jeb
Для части, разделяемой всеми типами индекса, вы можете использовать [default] (https://www.elastic.co/guide/en/elasticsearch/guide/current/default-mapping.html) отображение, иначе единственный способ чтобы повторить тип, это иметь петлю в приложении, которое генерирует шаблон (ваше клиентское приложение). Механизм наложения макроса или типа не встроен в elasticsearch. Кстати, ознакомьтесь с https://www.elastic.co/blog/great-mapping-refactoring, прежде чем вкладывать слишком много в сложную структуру типа. – imotov
Спасибо. Кстати: он говорит: «Мы только применяем новые правила при создании новых индексов в Elasticsearch v2.0». ES в настоящее время v1.7.1. Что это значит? – Jeb