Elasticsearch에서 매핑
개념: 색인을 만들 때 필드의 유형과 관련 속성을 미리 정의할 수 있습니다.그래서 색인을 더욱 세밀하고 완벽하게 만들었다.맵을 미리 설정하지 않으면 입력한 필드 유형이 자동으로 인식됩니다.
공식 문서 (필드 데이터 유형):https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html
공식 문서(매핑 매개 변수):https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-params.html
매핑은 정적 및 동적 매핑으로 나뉩니다.
동적 맵: 문서에서 이전에 보지 못했던 필드를 만났을 때, 동적 맵은 자동으로 필드의 종류를 결정하고, 필드를 바꾸는 데 맵을 추가할 수 있습니다.dynamic 속성을 통해 제어합니다. 기본값은true이고 동적 추가입니다.false 새 필드 무시;strict 낯선 필드에 이상이 발생했습니다.
정적 매핑 설정:
curl -XPOST 'http://localhost:9200/library' -d '
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"books": {
"properties": {
"title": {
"type": "string"
},
"name": {
"type": "string",
"index": "not_analyzed"
},
"publish_date": {
"type": "date",
"index": "not_analyzed"
},
"price": {
"type": "double"
},
"number": {
"type": "integer"
}
}
}
}
}
'
동적 매핑:
동적 맵을 추가하려면 Object 형식이어야 합니다
{
"mappings": {
"books": {
"dynamic": "strict",
"properties": {
"title": {
"type": "string"
},
"name": {
"type": "string",
"index": "not_analyzed"
},
"publish_date": {
"type": "date",
"index": "not_analyzed"
},
"price": {
"type": "double"
},
"number": {
"type": "object",
"dynamic": true
}
}
}
}
}
색인에서 매핑 정보 가져오기
curl -XGET localhost:9200/library/_mapping
수정 맵 업데이트
맵핑이 설정되면 기존 필드 맵을 수정할 수 없습니다.기존의 맵을 뒤집으려면 색인을 다시 만들고 맵을 다시 정의해서 이전 색인에 있는 데이터를 새로 만든 색인으로 가져와야 합니다.
curl -XPOST 'localhost:9200/_aliases' -d '
{
"actions": [
{
"remove": {
"index": " ",
"alias": " A"
}
},
{
"add": {
"index": " ",
"alias": " A"
}
}
]
}
'
이상 가동 중지 시간 없이 완료할 수 있습니다.
다음으로 전송:https://www.cnblogs.com/zqwby-0708/p/7872973.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.