- Kategorien:
Zeichenfolgen- und Binärfunktionen (Large Language Model)
SEARCH_PREVIEW (SNOWFLAKE.CORTEX)¶
Gibt bei Angabe eines Cortex Search Service-Namens und einer Abfrage eine Antwort vom angegebenen Dienst zurück.
Syntax¶
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<service_name>',
'<query_parameters_object>'
)
Argumente¶
service_name
Name Ihres Cortex Search Service. Verwenden Sie den vollständig qualifizierten Namen, wenn sich der Dienst in einem anderen Schema als dem der aktuellen Sitzung befindet.
query_parameters_object
Ein STRING, der ein JSON-Objekt enthält, das die Abfrageparameter für den Aufruf des Dienstes angibt.
Schlüssel
Typ
Beschreibung
Standard
query
String
Ihre Abfrage, um die Textspalte im Dienst zu durchsuchen.
Dies ist erforderlich.
columns
Array
Eine durch Kommata getrennte Liste von Spalten, die für jedes relevante Ergebnis in der Antwort zurückgegeben werden soll. Diese Spalten müssen in der Quellabfrage für den Dienst enthalten sein.
Suchspalte, die bei der Erstellung des Dienstes angegeben wurde.
filter
Objekt
Ein Filterobjekt zum Filtern der Ergebnisse auf der Grundlage der Daten in den
ATTRIBUTES
-Spalten. Für eine detaillierte Syntax siehe Filtersyntax.Leeres Objekt
limit
Integer
Maximale Anzahl der Ergebnisse, die in der Antwort zurückgegeben werden sollen
10
Filtersyntax¶
Cortex Search unterstützt das Filtern nach den ATTRIBUTES-Spalten, die im Befehl CREATE CORTEX SEARCH SERVICE angegeben sind.
Cortex Search unterstützt zwei Abgleichsoperatoren:
Zeichenfolgengleichheit:
@eq
Array enthält:
@contains
Diese Vergleichsoperatoren können mit verschiedenen logischen Operatoren kombiniert werden:
@and
@or
@not
Diese Operatoren können in einem einzigen Filterobjekt kombiniert werden. Es folgen Beispiele:
Filtern von Zeilen, bei denen die Zeichenfolge-ähnliche Spalte
string_col
gleich dem Wertvalue
ist.{ "@eq": { "string_col": "value" } }
Filtern nach Zeilen, in denen die Spalte ARRAY
array_col
den Wertvalue
enthält.{ "@contains": { "array_col": "arr_value" } }
Zusammenstellen von Filtern mit logischen Operatoren:
// 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" } } ] }
Rückgabewerte¶
Gibt ein OBJECT zurück, das das Ergebnis Ihrer Abfrage aus Ihrem Cortex Search Service und eine eindeutige Anfrage-ID enthält. Siehe die Beispielausgabe in Beispiele.
Nutzungshinweise¶
Diese Funktion verursacht mehr Latenzzeit als die Verwendung der Python-API. Sie ist nur für Test-/Validierungszwecke gedacht. Sie sollten diese Funktion nicht für Suchabfragen in einer Endbenutzer-Anwendung verwenden, die eine geringe Latenzzeit erfordert.
Diese Funktion funktioniert nur bei Abfragen mit Zeichenfolgenliteralen. Sie akzeptiert keinen Batch von Textdaten.
Beispiele¶
In diesem Beispiel wird ein Dienst namens sample_service
mit einer test query
abgefragt. Das Beispiel liefert (höchstens) fünf Ergebnisse und enthält die Daten aus den Spalten col1
und 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"
}