Elasticsearch Mapping 유형 매핑 개요 및 메타필드 유형

4370 단어 Elasticsearch
맵핑, 맵핑은 관계형 데이터베이스에서 문장을 만들고 문서 필드와 그 유형, 인덱스와 저장 방식을 정의하는 것과 같다.일반적으로 다음과 같은 측면이 있습니다.
  • 문서에서 전체 텍스트 인덱스 필드로 정의해야 하는 필드..
  • 문서에서 날짜, 숫자, 지리적 위치 등 정확한 값으로 정의된 필드..
  • 문서의 어떤 필드가 인덱스되어야 하는지(이 필드의 값을 통해 문서를 조회할 수 있음)..
  • 날짜 값의 형식..
  • 동적 추가 필드의 규칙 정의 등..

  • 1. 유형 맵 개요 1.1 맵 유형 Elasticsearch는 meta-fields,fields orproperties 두 가지 맵 형식을 지원하여 문서의 색인 방식을 결정합니다.
  • Meta-fields 메타데이터 필드는 문서의 메타데이터 필드의 특징을 정의하는 데 사용되며, 문서의 메타데이터 필드는 주로_를 포함한다index、_type、_id、_소스 이 네 필드..
  • Fields orproperties 속성 필드 목록은properties 필드를 통해 전체 문서에 유효한 하중을 하는 각 필드의 데이터 형식, 분사기 등 속성을 정의합니다.매핑 형식, 색인에 있는 형식의 필드 집합을 어떤 방식으로 정의하는지 이해할 수 있습니다..

  • 1.2 데이터 형식은 모든 필드에 데이터 형식을 지정합니다. 데이터 형식은 보통 다음과 같습니다. 간단한 형식, 예를 들어text,keyword,date,long,double,boolean,ip 복합 형식, 예를 들어object(json),netsed입니다.geo_와 같은 특수 유형point、geo_shape(지도 관련 유형),completion.다음 장은 elasticsearch가 지원하는 데이터 형식을 단독으로 중점적으로 분석합니다.
    1.3 매핑 보호 메커니즘 es는 다음과 같은 매개 변수를 제공하여 es의 행동을 제한합니다.
  • index.mapping.total_fields.limit 인덱스에서 정의할 수 있는 최대 필드 (속성) 개수, 기본값은 1000..
  • index.mapping.depth.limit 필드의 최대 깊이, 기본값은 20..
  • index.mapping.nested_fields.limit 인덱스는 필드 형식이nested인 개수를 포함합니다. 기본값은 50입니다

  • 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 메타필드.맵 유형을 만들 때 일부 메타필드의 동작을 사용자 정의할 수 있습니다.
  • identity meta-fields(문서의 신분을 나타내는 원 필드)
  • _index 문서가 있는 인덱스, 관계형 데이터베이스와 유사한 데이터베이스..
  • _uid _type 및_id의 조합, 문서의 유일한 표지..
  • _type 문서 맵 유형..
  • _id 문서의_id값..
  • document source meta-fields
  • _소스 문서의 원본 json 데이터..
  • _크기 문서_souce 필드의 바이트 길이, 플러그인 필요:mapper-sizeplugin..
  • indexing meta-fields
  • _all 모든 필드를 하나로 매핑_all 필드, 6.0.0 버전 후 폐기,copy_ 사용 가능집합이 필요한 필드를 정의합니다._field_names _field_인덱스 문서에null을 제외한 모든 값을 포함하는 모든 필드의 이름입니다.exist 조회는 이 필드를 사용하여 특정 필드에 빈 값이 있거나 없는 문서를 찾습니다. 즉, 이 필드는 필드 값이null이 아닌 모든 필드 이름을 기록합니다.현재 버전,_field_names 필드에 doc_ 사용 안 함values,norm 필드, doc_ 사용하기values 또는norm 필드,exist 조회는 사용할 수 있지만 _field_names 필드.참고: 비활성화_field_names는 이전의 인덱스 비용을 더 이상 불러오지 않기 때문에 일반적으로 필요하지 않습니다.doc_ 비활성화가 많으면value와norm의 필드, 그리고 exist 조회를 실행할 필요가 없습니다. _field_names, 다음과 같이 비활성화할 수 있습니다_field_names 필드:
  • PUT tweets
    {
      "mappings": {
        "_doc": {
          "_field_names": {
            "enabled": false
          }
        }
      }
    }
    
  • _ignored를 ignore_로 설정malformed=true의 모든 필드..
  • routing meta-field
  • _routing 분할 루트 필드..
  • other meta-field 1._meta는 사용자 정의 메타데이터에 사용됩니다. 예를 들어:
  • 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 칼럼

    좋은 웹페이지 즐겨찾기