BackEnd/Elasticsearch

06. 메타 필드(Meta Fields)

hanseom 2021. 9. 19. 21:55
반응형

  메타 필드(Meta Fields)는 엘라스틱서치에서 생성한 문서에서 제공하는 특별한 필드입니다. 이것은 메타데이터를 저장하는 특수 목적의 필드로서 이를 이용하면 검색 시 문서를 다양한 형태로 제어하는 것이 가능합니다.

{
  "_index": "elasticsearch",
  "_type": "_doc",
  "_id": "1",
  "_score": 1,
  "_source": {
    "실제 문서 정보"
  }
}

1. _index 메타 필드

  해당 문서가 속한 인덱스 이름을 담고 있습니다. 이를 이용해 검색된 문서의 인덱스명과 해당 인덱스에 몇 개의 문서가 있는지 확인할 수 있습니다.

 

2. _type 메타 필드

  해당 문서가 속한 매핑의 타입 정보를 담고 있습니다. 이를 이용해 인덱스 내부에서 타입별로 몇 개의 문서가 있는지 확인할 수 있습니다.

 

3. _id 메타 필드

  문서를 식별하는 유일한 키 값입니다. 한 인덱스에서 색인된 문서마다 서로 다른 키 값을 가집니다.

 

4. _uid 메타 필드

  특수한 목적의 식별키입니다. "#" 태그를 사용해 _type과 _id 값을 조합해 사용합니다. 하지만 내부적으로만 사용되기 때문에 검색 시 조회되는 값은 아닙니다.

 

5. _source 메타 필드

  문서의 원본 데이터를 제공합니다. _reindex API나 스크립트를 사용해 해당 값을 계산할 때 해당 메타 필드를 활용할 수 있습니다.

 

6. _all 메타 필드

  색인에 사용된 모든 필드의 정보를 가진 메타 필드입니다. 모든 필드의 내용이 하나의 텍스트로 합쳐져서 제공됩니다. 특정 필드가 아닌 문서 전체 필드에서 특정 키워드를 검색한다면 _all 메타 필드를 사용하면 됩니다.

  _all 메타 필드는 데이터 크기를 너무 많이 차지하는 문제가 있어 엘라스틱서치 6.0 이상부터는 폐기(deprecated) 됐습니다. (copy_to 파라미터 대체)

 

7. _routing 메타 필드

  특정 문서를 특정 샤드에 저장하기 위해 사용자가 지정하는 메타 필드입니다. 별도의 설정이 없다면 문서를 색인하는 문서는 샤드에 골고루 분산되어 저장됩니다.

 

반응형