Prefix 쿼리
Prefix 쿼리
특정 접두어로 시작하는 용어를 검색하려면 prefix 쿼리를 사용해요. 예를 들어 speaker 필드에서 KING H로 시작하는 용어를 가진 문서를 찾을 수 있어요.
출처: 문서
본문
특정 접두어로 시작하는 용어를 검색하려면 prefix 쿼리를 사용해요. 예를 들어 다음 쿼리는 speaker 필드에 KING H로 시작하는 용어가 포함된 문서를 검색해요:
GET shakespeare/_search
{
"query": {
"prefix": {
"speaker": "KING H"
}
}
}
파라미터를 제공하려면 앞선 쿼리와 동등한 다음 확장 문법을 사용할 수 있어요:
GET shakespeare/_search
{
"query": {
"prefix": {
"speaker": {
"value": "KING H"
}
}
}
}
파라미터 (Parameters)
쿼리는 필드 이름(
GET _search
{
"query": {
"prefix": {
"": {
"value": "sample",
...
}
}
}
}
value | 문자열(String) | boost | 부동 소수점(Floating-point) | 이 필드가 관련성 점수에 기여하는 가중치를 지정하는 부동 소수점 값이에요. 1.0보다 큰 값은 필드의 관련성을 높이고, 0.0과 1.0 사이의 값은 관련성을 낮춰요. 기본값은 1.0이에요.
case_insensitive | 불리언(Boolean) | true이면 value가 인덱싱된 필드 값과 대소문자를 구분하지 않고 일치하도록 허용해요. 기본값은 false예요(대소문자 구분은 필드의 매핑에 따라 결정돼요).
rewrite | 문자열(String) | OpenSearch가 다중 용어 쿼리를 어떻게 다시 작성하고 점수를 매기는지 결정해요. 유효한 값은 constant_score, scoring_boolean, constant_score_boolean, top_terms_N, top_terms_boost_N, top_terms_blended_freqs_N이에요. 기본값은 constant_score예요.
search.allow_expensive_queries가 false로 설정되어 있으면 prefix 쿼리는 실행되지 않아요. index_prefixes가 활성화되어 있으면 search.allow_expensive_queries 설정은 무시되고 최적화된 쿼리가 구성되어 실행돼요.