Elasticsearch Template

1504 단어
Elasticsearch는 현재 type 삭제를 지원하지 않습니다. 현재 index만 삭제할 수 있기 때문에 데이터는 매일 색인을 만들어서 노화하기 쉽습니다.이렇게template의 중요성이 나타나서 동적 인덱스를 만들 수 있다.
PUT /_template/template_1
{
   "template": "te*",
   "settings": {
     "number_of_shards": 1 
   }, 
  "mappings": { 
     "type1": { 
        "_source": { 
            "enabled": false 
        }, 
        "properties": {
             "host_name": { 
                "type": "string",
                 "index": "not_analyzed" 
              }, 
              "created_at": { 
                  "type": "date", 
                  "format": "EEE MMM dd HH:mm:ss Z YYYY" 
              }
         }
     }
   }
}

템플릿은 색인을 만들 때만 작용합니다. 템플릿을 업데이트하면 오래된 색인은 변하지 않습니다."template": "te*" 여러분은 주의해야 할 것은te_20160709 인덱스는template_1 색인을 만듭니다.만약 또 하나의 템플릿이 "template": "tet*"라면tet_20160709의 인덱스에 문제가 있습니다.
원본 구현은 다음을 참조할 수 있습니다.
MetaDataCreateIndexService ->createIndex->findTemplates->indexTemplateFilter.apply(request, template)

private static class DefaultIndexTemplateFilter implements IndexTemplateFilter {    
@Override    
public boolean apply(CreateIndexClusterStateUpdateRequest request, IndexTemplateMetaData template) {
        return Regex.simpleMatch(template.template(), request.index()); 
   }
}

좋은 웹페이지 즐겨찾기