elasticsearch5.0 mapping

4390 단어 elasticsearch
  • mapping
  • Field datatypes
  • meta-fields
  • mapping parameters
  • dynamic mapping
  • 자동화 type 생성 금지


  • mapping


    https://www.elastic.co/guide/en/elasticsearch/reference/5.0/mapping.html인덱스마다 색인에 있는 여러 문서를 논리적 그룹으로 나누는 데 사용되는 하나 이상의 types가 존재합니다.각 type은 다음과 같습니다. Meta-fields(type의 메타데이터, 시스템 정의 속성) Examples of meta-fields include the document's_index, _type, _id, and _source fields Fields or properties (type의 사용자 정의 속성)

    Field datatypes


    Field datatypes a simple type like text, keyword, date, long, double, boolean or ip. a type which supports the hierarchical nature of JSON such as object or nested. or a specialised type like geo_point, geo_shape, or completion. multi-fields https://www.elastic.co/guide/en/elasticsearch/reference/5.0/multi-fields.html색인이 같은field로 서로 다른 목적을 위해 다른 방법을 자주 사용합니다. 예를 들어stringfield는textfiled로 사용할 수 있습니다. 이른바 색인은 전체 텍스트 검색으로 사용할 수 있고,keywordfiled로 정렬이나 집합(sortingaggregations)에 사용할 수 있습니다.또한stringfield는 표준 분사기, 영문 분사기, 중간 분사기 등을 사용할 수 있습니다.This is the purpose of multi-fields. Most datatypes support multi-fields via the fields parameter. 대부분의 데이터 types는field (속성) 에 대한 다중field (인덱스된 속성) 설정을 지원합니다.
    맵핑스 급증(폭발) 방지 설정 아래의 설정은 수동 또는 자동으로field 맵핑스를 만드는 수량을 제한할 수 있습니다. 나쁜 문서 구조(예를 들어 문서 필드가 확실하지 않고 자주 변동)로 인한 맵핑스 폭발(급증) index를 막기 위해서입니다.mapping.total_fields.limit index의 최대 필드 수량은 기본 1000 index입니다.mapping.depth.limitfield (속성) 의 최대 깊이, 대상이 루트 아래에 있으면 1, 내부 대상 (object,nested) 이 있으면 2, 기본 20 index.mapping.nested_fields.index의 플러그인fields 최대 수량 기본 50
    dynamic mappingfields와 type은 사용하기 전에 정의할 필요가 없습니다.field와 type을 추가할 때 자동으로 mapping을 만듭니다.https://www.elastic.co/guide/en/elasticsearch/reference/5.0/dynamic-mapping.html동적 맵핑 규칙은 위 URL을 참고하여 설정할 수 있습니다
    explicit mappings index를 만들 때,put mapping을 사용하여 이미 존재하는 index의 mapping을 수정할 수 있습니다.https://www.elastic.co/guide/en/elasticsearch/reference/5.0/indices-put-mapping.html
    업데이트existingmapping에 존재하는 type과fieldmappings는 업데이트할 수 없습니다.맵핑을 변경하면 색인된 문서가 무효가 됩니다.올바른 방법일 때 정확한 맵핑을 포함하는 index를 만들고 데이터를 새로운 index로 가져옵니다.
    fields는 여러 types에 공유됩니다. 같은 이름이 있으면 같은 index에서 아무리 다른 type이라도 같은 맵핑을 가져야 합니다.

    meta-fields


    각 문서는 메타데이터 결합으로 구성됩니다. 예를 들어_index,_type _id 등 메타데이터.일부 메타데이터는 맵이 생성될 때 행동을 사용자 정의할 수 있습니다.identity meta-fields _index 문서에 속하는 index_uid _id 및_type 혼합된 유일한 값_type 문서에 속하는 type_id 문서에 대응하는 id
    document source meta-fields _source 원본 json 설명(문서의 body 부분)_size _source의 바이트 수, 마퍼-size 플러그인은 플러그인을 제공합니다.https://www.elastic.co/guide/en/elasticsearch/plugins/5.0/mapper-size.html
    indexing meta-fields _all A catch-all field that indexes the values of all other fields _field_names 문서에 비어 있지 않은 값을 포함하는 모든 속성
    routing meta-fields _parent 두 유형 간에 부자 관계 만들기_routing 루트는 문서에서 지정한 슬라이스에 대한 사용자 정의 루트 값으로
    other meta-field _meta 응용 설정 메타데이터

    mapping parameters


    주로 각 데이터 type에서 설정할 수 있는mapping과 관련된 매개 변수를 소개합니다. 아래에 표시된 것은 모든 데이터 type의 모든 공용 매개 변수입니다.

    dynamic mapping


    elasticsearch의 중요한 특성 중 하나는 보기가 자신의 상세한 디자인을 하기 전에 가능한 한 빨리 데이터를 만들고 조회할 수 있도록 하는 것이다.색인 문서, 색인을 미리 만들 필요가 없습니다. 맵을 정의하고 문서 속성을 정의합니다. 문서, 색인, 유형, 속성을 직접 색인할 수 있습니다.자동화된 새로운 유형과 속성의 탐지와 증가를 동적 맵핑(dynamic mapping)이라고 합니다.동적 매핑 규칙은 사용자 정의 설정으로 사용자의 목적을 충족시킬 수 있습니다:_default_맵핑은 새로운 맵 형식에 기본적인 맵을 설정합니다.dynamicfieldmapping 관리 동적 속성 탐지 규칙.동적 템플릿은 동적 추가 속성을 위한 사용자 정의 규칙을 설정합니다.
    tip indextemplate는 기본 맵, 설정 및 별명을 자동으로 색인을 만들거나 현식으로 색인을 만들 때 설정할 수 있습니다.

    자동화 type 생성 금지


    자동화된 맵 형식 생성은 색인 설정에서 index를 통과할 수 있습니다.mapper.dynamic 매개 변수 금지 설정
    PUT data/_settings
    {
      "index.mapper.dynamic":false 
    }

    자동 매핑 유형의 생성도 색인 템플릿을 통해 모든 색인을 설정할 수 있습니다
    PUT _template/template_all
    {
      "template": "*",
      "order":0,
      "settings": {
        "index.mapper.dynamic": false 
      }
    }

    좋은 웹페이지 즐겨찾기