전문(full-text) 쿼리

전문(full-text) 쿼리

전문 쿼리는 검색 전에 쿼리 문자열을 분석하므로, text 필드에서 자연어 검색에 적합해요. 정교한 검색 동작을 만들 수 있는 선택 필드가 많으므로, 여러 옵션을 사용한 더 고급·복잡한 검색을 수행하기 전에 몇 가지 기본 쿼리 타입을 대표 인덱스에서 테스트하고 출력을 검증해 볼 것을 권장합니다.

출처: 문서

본문

전문 쿼리는 검색 전에 쿼리 문자열을 분석하므로, text 필드에서 자연어 검색에 적합해요. 세밀한 검색 동작을 만들 수 있는 많은 선택 필드가 있으므로, 여러 옵션을 사용하는 더 고급·복잡한 검색을 수행하기 전에 몇 가지 기본 쿼리 타입을 대표 인덱스에 대해 테스트하고 출력을 검증해 볼 것을 권장해요.

OpenSearch는 Apache Lucene 검색 라이브러리를 사용하며, 이는 데이터를 수집, 인덱싱, 검색, 집계하기 위한 고효율 데이터 구조와 알고리즘을 제공해요.

검색 쿼리 클래스에 대해 더 알아보려면 Lucene query JavaDocs를 참조하세요.

이 섹션에서 보여주는 전문 쿼리 타입들은 표준 분석기(standard analyzer)를 사용하며, 쿼리가 제출될 때 텍스트를 자동으로 분석해요.

다음 표는 모든 전문 쿼리 타입을 나열해요.

쿼리 타입 설명
match 기본 전문 쿼리. 퍼지 매칭과 구문 또는 근접 검색에 사용할 수 있음.
match_phrase match 쿼리와 비슷하지만 구성 가능한 slop까지의 전체 구문을 매칭함.
match_phrase_prefix match_phrase 쿼리와 비슷하지만 용어를 전체 구문으로 매칭하고 마지막 용어를 접두사로 취급함.
match_bool_prefix 어느 위치에서든 모든 용어를 매칭하는 Boolean 쿼리를 만들고 마지막 용어를 접두사로 취급함.
multi_match match 쿼리와 비슷하지만 여러 필드에서 사용됨.
combined_fields 더 나은 관련성 점수를 위해 BM25F를 사용해 여러 text 필드를 단일 필드로 취급함.
simple_query_string query_string 쿼리의 더 간단하고 덜 엄격한 버전.
query_string 엄격한 구문을 사용해 단일 쿼리 문자열 안에서 Boolean 조건과 다중 필드 검색을 지정함.
intervals 일치 용어의 근접성과 순서를 세밀하게 제어함.

더 알아보기 (Learn more)