- 카테고리:
문자열 및 이진 함수 (대규모 언어 모델)
SEARCH_PREVIEW(SNOWFLAKE.CORTEX)¶
Cortex Search Service 이름과 쿼리가 주어지면 지정된 서비스에서 응답을 반환합니다.
구문¶
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<service_name>',
'<query_parameters_object>'
)
인자¶
service_name
Cortex Search Service의 이름입니다. 서비스가 현재 세션과 다른 스키마에 있는 경우 정규화된 이름을 사용합니다.
query_parameters_object
서비스 호출을 위한 쿼리 매개 변수를 지정하는 JSON 오브젝트가 포함된 STRING 입니다.
키
타입
설명
기본값
query
String
사용자의 검색어는 서비스의 텍스트 열을 검색하는 데 사용됩니다.
필수 사항입니다.
columns
배열
응답에서 각 관련 결과에 대해 반환할 열의 쉼표로 구분된 목록입니다. 이러한 열은 서비스의 소스 쿼리에 포함되어야 합니다.
서비스 생성 시 지정된 검색 열입니다.
filter
오브젝트
ATTRIBUTES
열의 데이터를 기준으로 결과를 필터링하기 위한 필터 오브젝트입니다. 자세한 구문은 필터 구문 섹션을 참조하십시오.빈 오브젝트
limit
Integer
응답에서 반환할 결과의 최대 개수입니다.
10
필터 구문¶
Cortex Search는 CREATE CORTEX SEARCH SERVICE 명령에 지정된 ATTRIBUTES 열에 대한 필터링을 지원합니다.
Cortex Search는 2개의 일치 연산자를 지원합니다.
문자열 동등성:
@eq
배열에 포함된 항목:
@contains
이러한 일치 연산자는 다양한 논리 연산자로 구성될 수 있습니다.
@and
@or
@not
이러한 연산자를 1개의 필터 오브젝트로 결합할 수 있습니다. 다음은 그 예입니다.
문자열과 같은 열
string_col
은value
값과 같은 행을 필터링합니다.{ "@eq": { "string_col": "value" } }
ARRAY 열
array_col
에 값value
가 포함된 행을 필터링합니다.{ "@contains": { "array_col": "arr_value" } }
논리 연산자를 사용하여 필터 구성:
// Rows where the "array_col" column contains "arr_value" and the "string_col" column equals "value": { "@and": [ { "@contains": { "array_col": "arr_value" } }, { "@eq": { "string_col": "value" } } ] } // Rows where the "string_col" column does not equal "value" { "@not": { "@eq": { "string_col": "value" } } } // Rows where the "array_col" column contains at least one of "val1", "val2", or "val3" { "@or": [ { "@contains": { "array_col": "val1" } }, { "@contains": { "array_col": "val1" } }, { "@contains": { "array_col": "val1" } } ] }
반환¶
Cortex Search Service의 쿼리 결과와 고유한 요청 ID가 포함된 OBJECT 를 반환합니다. 예 의 예시 출력을 참조하십시오.
사용법 노트¶
이 함수는 Python API를 사용할 때보다 지연 시간이 더 길어집니다. 테스트/검증 목적으로만 사용하도록 설계되었습니다. 지연 시간이 짧아야 하는 최종 사용자 애플리케이션에서 검색 쿼리를 처리하는 데 이 함수를 사용하면 안 됩니다.
이 함수는 문자열 리터럴 쿼리에서만 작동합니다. 텍스트 데이터 배치는 허용하지 않습니다.
예¶
다음 예에서는 test query
로 sample_service
라는 서비스를 쿼리합니다. 예에서는 최대 5개의 결과를 반환하며 col1
및 col2
열의 데이터를 포함합니다.
SELECT
SNOWFLAKE.CORTEX.SEARCH_PREVIEW (
'mydb.mysch.sample_service',
'{
"query": "test query",
"columns": ["col1", "col2"],
"limit": 3
}'
);
{
"results":[
{"col1":"text", "col2":"text"},
{"col1":"text", "col2":"text"},
{"col1":"text", "col2":"text"}
],
"request_id":"a27d1d85-e02c-4730-b320-74bf94f72d0d"
}