Elasticsearch Mapping 유형 매핑 개요 및 메타필드 유형
4370 단어 Elasticsearch
1. 유형 맵 개요 1.1 맵 유형 Elasticsearch는 meta-fields,fields orproperties 두 가지 맵 형식을 지원하여 문서의 색인 방식을 결정합니다.
1.2 데이터 형식은 모든 필드에 데이터 형식을 지정합니다. 데이터 형식은 보통 다음과 같습니다. 간단한 형식, 예를 들어text,keyword,date,long,double,boolean,ip 복합 형식, 예를 들어object(json),netsed입니다.geo_와 같은 특수 유형point、geo_shape(지도 관련 유형),completion.다음 장은 elasticsearch가 지원하는 데이터 형식을 단독으로 중점적으로 분석합니다.
1.3 매핑 보호 메커니즘 es는 다음과 같은 매개 변수를 제공하여 es의 행동을 제한합니다.
1.4 동적 매핑 메커니즘은 관계형 데이터베이스와 달리 type(관계형 데이터베이스에 대응하는 표)의 필드는 사용 과정에서 동적으로 추가할 수 있다.구체적인 동적 매핑 메커니즘은 후속 문장에서 단독으로 끝날 것이다.
1.5 기존 맵 정의es를 업데이트하면 인덱스된 존재하는 필드 맵을 직접 수정할 수 없습니다. 필드 맵을 수정하면 인덱스된 데이터가 효력이 발생하는 것을 의미하기 때문에 별명 메커니즘을 사용하여 필드의 이름을 수정할 수 있습니다. 존재하는 필드 맵을 수정하려면 인덱스를 다시 만들고 reindex API로 데이터를 이전하는 것을 권장합니다.
1.6 인덱스, type 조직 방식 인덱스가 생성될 때 Elasticsearch6.x 버전은 하나의 맵 형식만 지원하고, 7.x 버전 후 맵 유형 삭제가 완료됩니다.es5.x의 인덱스가 여러 type을 포함하는 경우 6.x버전은 질의를 계속 지원하며 7.0버전이 되면 API는 여러 유형과 관련된 API를 제거합니다.
Elasticsearch6.x 버전 이후에는 왜 단일 인덱스 라이브러리에 여러 종류의 지원을 계속하지 않습니까?애초에 es를 이해하기 쉽도록 관계형 데이터베이스와 비교했다. 예를 들어 es의 index(인덱스)는 관계형 데이터베이스의 데이터베이스에 해당하고 유형(type)은 관계형 데이터베이스의table에 해당한다.사실 이것은 잘못된 비유다.관계형 데이터베이스에서 표는 서로 독립적이다. 한 표의 열 이름은 다른 표의 열 이름과 같지만 es의 유형 매핑 정의에 대해서는 그렇지 않다.
es 단일 인덱스에서 서로 다른 맵 형식 (type) 이 같은 이름을 가진 필드는 내부에서 같은 Lucence 필드로 저장됩니다. 이것은 같은 인덱스 안에 다른 형식이 있음을 의미합니다. 이름이 같은 필드가 나타나면 데이터 형식도 같아야 합니다.더욱 중요한 것은 같은 인덱스에 저장된 필드가 적거나 공통된 필드가 없는 서로 다른 유형(실체)은 데이터가 희소해지고 Lucecece의 효율적인 문서 압축 능력을 크게 떨어뜨려 검색 성능에 영향을 미친다.
상술한 여러 가지 원인을 바탕으로es는 후속 버전에서 하나의 색인에서 여러 가지 유형을 정의할 수 없습니다.
2. meta-field(메타필드) 모든 문서에는 이와 관련된 메타데이터가 있습니다. 예를 들어_index、mapping _type 및_id 메타필드.맵 유형을 만들 때 일부 메타필드의 동작을 사용자 정의할 수 있습니다.
PUT tweets
{
"mappings": {
"_doc": {
"_field_names": {
"enabled": false
}
}
}
}
PUT my_index
{
"mappings": {
"_doc": {
"_meta": {
"class": "MyApp::User",
"version": {
"min": "1.0",
"max": "1.3"
}
}
}
}
}
본고는 Elasticsearch 유형의 맵과 메타필드 유형을 초보적으로 소개했고 후속 글은 맵 매개 변수,elasticsearch가 지원하는 데이터 유형, 자동 형식의 맵 메커니즘 등을 소개한다.
필자의 위챗 메시지(dingwpmz)를 추가한 것을 환영합니다. 그룹 분석을 추가합니다. 필자의 양질의 칼럼 목록: 1. 원본 분석 RocketMQ 칼럼(40편+) 2, 원본 분석 Sentinel 칼럼(12편+) 3, 원본 분석 Dubbo 칼럼(28편+) 4, 원본 분석 Mybatis 칼럼 5, 원본 분석 Netty 칼럼(18편+) 6, 원본 분석 JUC 칼럼 7, 원본 분석 Elasticjob 칼럼 8, Elasticsearch 칼럼(20편+) 9, 원본 분석 MyCat 칼럼
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Embulk를 사용하여 ElasticCloud로 보내기Embulk에서 ElasticCloud에 보낼 수 있을까라고 생각비망록도 겸해 기술을 남깁니다 Embulk 설치 ElasticCloud (14 일 체험판) brew라면 아래 명령 입력 파일 만들기 파일 내용 seed...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.