[
https://issues.apache.org/jira/browse/UNOMI-130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Serge Huber resolved UNOMI-130.
-------------------------------
Resolution: Fixed
> Use index templates to create new indexes with default mappings instead of
> Java code
> ------------------------------------------------------------------------------------
>
> Key: UNOMI-130
> URL: https://issues.apache.org/jira/browse/UNOMI-130
> Project: Apache Unomi
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.3.0-incubating
> Reporter: Serge Huber
> Assignee: Serge Huber
> Fix For: 1.3.0-incubating
>
>
> We use some Java code to insert default mappings and settings into
> automatically created indexes. But with ES 5.0 it is now possible to use
> index templates. We should therefore replace our custom code to use index
> templates, making maintenance and configuration of the templates a lot easier.
> See :
> https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
> Basically this would allow us to replace something like this (from
> ElasticSearchPersistenceServiceImpl.java) :
> {code}
> private void internalCreateIndex(String indexName, Map<String, String>
> mappings) {
> CreateIndexRequestBuilder builder =
> client.admin().indices().prepareCreate(indexName)
> .setSettings("{\n" +
> " \"index\" : {\n" +
> " \"number_of_shards\" : " + numberOfShards +
> ",\n" +
> " \"number_of_replicas\" : " +
> numberOfReplicas + "\n" +
> " },\n" +
> " \"analysis\": {\n" +
> " \"analyzer\": {\n" +
> " \"folding\": {\n" +
> " \"type\":\"custom\",\n" +
> " \"tokenizer\": \"keyword\",\n" +
> " \"filter\": [ \"lowercase\",
> \"asciifolding\" ]\n" +
> " }\n" +
> " }\n" +
> " }\n" +
> "}\n");
> for (Map.Entry<String, String> entry : mappings.entrySet()) {
> builder.addMapping(entry.getKey(), entry.getValue());
> }
> builder.execute().actionGet();
> existingIndexNames.add(indexName);
> }
> {code}
> to simply use something like this :
> {code}
> {
> "template": "te*",
> "settings": {
> "number_of_shards": 1
> },
> "mappings": {
> "type1": {
> "_source": {
> "enabled": false
> },
> "properties": {
> "host_name": {
> "type": "keyword"
> },
> "created_at": {
> "type": "date",
> "format": "EEE MMM dd HH:mm:ss Z YYYY"
> }
> }
> }
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)