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."
}
}
]
}
}