CREATE CORTEX SEARCH SERVICE¶
Erstellt einen neuen Cortex Search Service oder ersetzt einen bestehenden.
Syntax¶
CREATE [ OR REPLACE ] CORTEX SEARCH SERVICE [ IF NOT EXISTS ] <name>
ON <search_column>
ATTRIBUTES <col_name> [ , ... ]
WAREHOUSE = <warehouse_name>
TARGET_LAG = '<num> { seconds | minutes | hours | days }'
COMMENT = '<comment>'
AS <query>;
Parameter¶
name
Zeichenfolge, die den Bezeichner (d.h. den Namen) für den Cortex Search Service angibt; muss für das Schema, in dem der Dienst erstellt wird, eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
ON search_column
Gibt die Textspalte in der Basistabelle an, nach der Sie suchen möchten. Diese Spalte muss ein Textwert sein.
ATTRIBUTES col_name [ , ... ]
Gibt eine durch Kommas getrennte Liste von Spalten in der Basistabelle an, nach denen Sie bei Abfragen an den Dienst filtern möchten. Attributspalten müssen in der Abfrage enthalten sein, entweder über eine explizite Aufzählung oder einen Platzhalter (
*
).WAREHOUSE = warehouse_name
Gibt das Warehouse an, das für die Ausführung der Abfrage, den Aufbau des Suchindex und dessen Aktualisierung gemäß dem TARGET_LAG-Ziel verwendet wird.
TARGET_LAG = 'num { seconds | minutes | hours | days }'
Gibt die maximale Zeitspanne an, die der Inhalt des Cortex Search Service hinter den Aktualisierungen der in der Abfrage angegebenen Basistabellen zurückbleiben darf.
COMMENT = 'comment'
Gibt einen Kommentar für den Dienst an.
AS query
Gibt eine Abfrage an, die die Basistabelle definiert, aus der der Dienst erstellt wird.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
---|---|
CREATE CORTEX SEARCH SERVICE |
Schema, in dem der Search Service erstellt werden soll. |
SELECT |
Tabellen und Ansichten, die Sie für den neuen Dienst abfragen möchten. |
USAGE |
Warehouse, das Sie für die Aktualisierung des Dienstes verwenden möchten. |
Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Achtung
Um einen Cortex Search Service zu erstellen, muss Ihre Rolle über dieselben Berechtigungen verfügen, die für die Nutzung der Cortex LLM-Funktionen erforderlich sind. Siehe Cortex LLM-Funktionen – Erforderliche Berechtigungen.
Nutzungshinweise¶
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Die Größe des Warehouses, das für die Cortex Search Service-Ausgangsabfrage verwendeten Warehouses wirkt sich auf die Geschwindigkeit und die Kosten der einzelnen Aktualisierungen aus. Ein größeres Warehouse verkürzt die Erstellungs- und Aktualisierungszeit. Während dieser Vorschau empfiehlt Snowflake jedoch, für die Cortex Search Services eine Warehouse-Größe von maximal MEDIUM zu verwenden.
Snowflake empfiehlt, für jeden Cortex Search Service ein eigenes Warehouse zu verwenden, um andere Workloads nicht zu beeinträchtigen.
Der Suchindex wird als Teil der CREATE-Anweisung erstellt, was bedeutet, dass die Anweisung CREATE CORTEX SEARCH SERVICE bei größeren Datasets länger dauern kann.
Beispiel¶
Im folgenden Beispiel wird ein mysvc
benannter Cortex Search Service erstellt:
USE SCHEMA support_db.public;
CREATE OR REPLACE CORTEX SEARCH SERVICE mysvc
ON transcript_text
ATTRIBUTES region,agent_id
WAREHOUSE = mywh
TARGET_LAG = '1 hour'
AS (
SELECT
transcript_text,
date,
region,
agent_id
FROM support_db.public.transcripts_etl
);