Elasticsearch dynamic mapping 동적 템플릿 Default mapping 기본 열
7318 단어 elasticsearch
Dynamic field mappingedit
Default mapping
Custom dynamic mapping
문제
우리는 라벨이 하나 있기 때문에 이 라벨은 매우 많을 뿐만 아니라, 모두 사용자 자신의 라벨이며, 각양각색의 내용이 있을 것이다.동적 맵 열을 사용하면 처음에는 숫자 형식일 수도 있고, 나중에 다른 문자가 들어오면 모두 변환할 수 없는 오류일 수도 있습니다.
해결하다
elasticsearch는 동적 맵의 형식을 설정할 수 있는 기본 설정을 제공합니다.간단하게 말하면 새로 추가된 열의 이름과 일치하고, 일치하면 설정된 형식을 사용합니다.
json 형식
PUT /my_index
{
"mappings": {
"my_type": {
"dynamic_templates": [
{ "es": {
"match": "*_es",
"match_mapping_type": "string",
"mapping": { "type": "string", "analyzer": "spanish" } }},
{ "en": {
"match": "*",
"match_mapping_type": "string",
"mapping": { "type": "string", "analyzer": "english" } }}
]
}}}
PUT _template/logging
{
"template": "logs-*",
"settings": { "number_of_shards": 1 },
"mappings": {
"_default_": {
"_all": {
"enabled": false
},
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"mapping": { "type": "string", "fields": { "raw": { "type": "string", "index": "not_analyzed", "ignore_above": 256 } } } }
}
]
}
}
}
PUT logs-2015.10.01/event/1
{ "message": "error:16" }
상기 두 단락의 내용은 공식 문서에서 나온 것이다.이곳의 필드 이름은 이미 매우 명백해서 나는 설명하지 않겠다.
java 형식
XContentBuilder builder = XContentFactory.jsonBuilder()
.startObject()
.startObject(typeName)
.startArray("dynamic_templates")
.startObject()
.startObject("all_tag_string")
.field("match", "tag_*")
// .field("match_mapping_type","string")
.field("match_mapping_type", "*")
.startObject("mapping")
.field("type", "string")
.endObject()
.endObject()
.endObject()
.endArray()
.field("dynamic_date_formats", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd")
.startObject("properties")
.startObject("customer_list")
.field("type", "nested")
.endObject()
.startObject("goods_list")
.field("type", "nested")
.endObject()
.endObject()
.endObject().endObject();
이 코드는 기본 시간 형식을 우리가 자주 사용하는 형식으로 설정하고 두 가지를 설정했다는 뜻이다.그리고 모든 열명은 tag_시작은 모두string 형식으로 설정합니다
//es
IndicesExistsResponse// index
TypesExistsResponse// type
DeleteMappingRequest// mapping, index,type
PutMappingRequest// mapping, XContentBuilder
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.