Index options 매핑 파라미터

Index options 매핑 파라미터

index_options 매핑 파라미터는 text 필드에 대해 역색인에 저장되는 세부 정보 수준을 제어해요. 이 설정은 인덱스 크기와 스코어링, 구문 매칭, 하이라이팅에 사용 가능한 기능에 직접 영향을 줘요.

출처: 문서

본문

index_options 매핑 파라미터는 text 필드에 대해 역색인에 저장되는 세부 정보 수준을 제어합니다. 이 설정은 인덱스 크기와 스코어링, 구문 매칭, 하이라이팅에 사용 가능한 기능 모두에 직접 영향을 줍니다.

index_options 파라미터는 다음의 유효한 값을 가집니다.

값 저장 설명
docs 문서 ID만 용어가 문서 집합에 존재하는지 여부만 인덱싱합니다. 빈도나 위치를 저장하지 않습니다. 인덱스 크기를 최소화하며 단순 존재 확인에 적합합니다.
freqs 문서 ID + 용어 빈도 용어 빈도 정보를 추가합니다. 관련성 스코어링을 개선하는 데 유용하지만 구문 또는 근접(proximity) 쿼리를 지원하지 않습니다.
positions 문서 ID + 용어 빈도 + 용어 위치 문서에서 용어의 순서와 위치를 포함합니다. 구문 쿼리와 근접 검색에 필요합니다.
offsets 문서 ID + 용어 빈도 + 용어 위치 + 오프셋 가장 상세합니다. 일치하는 용어에 대한 문자 오프셋을 추가합니다. 하이라이팅에 유용하지만 저장 크기가 늘어납니다.

기본적으로 text 필드는 기능과 인덱스 크기를 균형 있게 맞추는 positions 옵션으로 인덱싱됩니다.

예제: 필드에 index_options 설정

description 필드가 index_options에 positions 설정을 사용하는 products라는 인덱스를 만듭니다.

PUT /products
{
  "mappings": {
    "properties": {
      "description": {
        "type": "text",
        "index_options": "positions"
      }
    }
  }
}

description 필드에 내용이 있는 문서를 인덱싱합니다.

PUT /products/_doc/1
{
  "description": "This is a sample product description with several terms."
}

description 필드에 구문 쿼리를 실행합니다.

POST /products/_search
{
  "query": {
    "match_phrase": {
      "description": "product description"
    }
  }
}

구문 쿼리가 문서와 성공적으로 매칭됩니다. 이는 index_options의 positions 설정이 description 필드 안에서 정확한 구문 매칭을 가능하게 함을 보여 줍니다.

{
  ...
  "hits": {
    "total": {
      "value": 1,
      "relation": "eq"
    },
    "max_score": 0.5753642,
    "hits": [
      {
        "_index": "products",
        "_id": "1",
        "_score": 0.5753642,
        "_source": {
          "description": "This is a sample product description with several terms."
        }
      }
    ]
  }
}

더 알아보기 (Learn more)