2015-09-06 32 views
2

可以說我有這個模板ElasticSearch - 通過實體名稱模式創建模板以匹配實體?

{ 
    "template" : "te*", 
    "settings" : { 
     "number_of_shards" : 1 
    }, 
    "mappings" : { 
     "type1" : { 
      properties":{"TemplateField":{"enabled": false },.... } 
     } 
    } 
} 

它匹配匹配模式的TE *該指數。

我想要的指數之內匹配有名字eqaul到類型A只有實體類型,類型B,TypeF

的東西,看起來像

{ 
    "template" : "te*", 
    "settings" : { 
     "number_of_shards" : 1 
    }, 
    "mappings" : { 
     "typeA, TypeB, TypeC" : { 
       properties":{"TemplateField":{"enabled": false },.... } 
     } 
    } 
} 

回答

2

這將是這樣的:

​​
+0

謝謝。有沒有辦法重複模板(如果我在屬性中有幾個字段)? – Jeb

+1

對於索引中所有類型共享的部分,您可以使用[default](https://www.elastic.co/guide/en/elasticsearch/guide/current/default-mapping.html)映射,否則唯一方法重複類型是通過在生成模板的應用程序(您的客戶端應用程序)中有一個循環。 elasticsearch中沒有內置宏擴展或類型繼承機制。順便說一下,在你投入太多的複雜類型結構之前,請查看https://www.elastic.co/blog/great-mapping-refactoring。 – imotov

+0

謝謝。 btw:它說「我們只在Elasticsearch v2.0中創建新索引時執行新規則」。 ES目前是v1.7.1。這是什麼意思? – Jeb