- カテゴリ:
文字列とバイナリ関数 (大規模言語モデル)
SEARCH_PREVIEW (SNOWFLAKE.CORTEX)¶
Cortex Searchのサービス名とクエリが指定されると、指定されたサービスからの応答を返します。
構文¶
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<service_name>',
'<query_parameters_object>'
)
引数¶
service_name
Cortex Searchサービスの名前。サービスが現在のセッションと異なるスキーマにある場合、完全修飾名を使用します。
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サービスからのクエリ結果と、一意のリクエスト 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"
}