DOCUMENTATION
/
Sprache
English
Français
Deutsch
日本語
한국어
Português
Erste Schritte
Benutzerhandbücher
Entwickler
Referenz
Versionshinweise
Tutorials
Status
  1. Überblick
    • Snowflake Horizon Catalog
      • Anwendungen und Tools für die Verbindung mit Snowflake
      • Virtuelle Warehouses
      • Datenbanken, Tabellen und Ansichten
      • Datentypen
        • Datenintegration
          1. Snowflake Openflow
          2. Apache Iceberg™
            1. Apache Iceberg™-Tabellen
            2. Snowflake Open Catalog
        • Data engineering
          1. Laden von Daten
          2. Dynamische Tabellen
          3. Streams and tasks
          4. Row timestamps
            • DCM Projects
            • dbt-Projekte in Snowflake
            • Entladen von Daten
          5. Storage lifecycle policies
          6. Migrationen
          7. Abfragen
          8. Freigabeangebote
          9. Zusammenarbeit
          10. Snowflake AI & ML
              1. Regionenübergreifende Inferenz
                • Deaktivieren von AI-Features
                  • Snowflake Intelligence
                  • Cortex Code
                  • Cortex AI Functions
                  • Cortex Agents
                  • Snowflake-verwalteter MCP-Server
                    • Cortex Analyst
                    • Cortex Search
                        1. Abfrage eines Cortex Search Service
                          • Einen Cortex Search Service replizieren
                            • Customize Cortex Search Scoring
                              • Erläuterungen zur Kostenstruktur
                                • Batch Cortex Search
                                  • Monitor Cortex Search requests
                                    • Tutorials
                                • Cortex Wissens-Erweiterungen
                                • Cortex REST API
                                • AI-Beobachtbarkeit
                                • ML-Funktionen
                                • Bereitgestellter Durchsatz
                                  • ML-Entwicklung und ML-Ops
                                • Snowflake Postgres
                                • Alerts und Benachrichtigungen
                                • Sicherheit
                                • Data Governance
                                • Datenschutz
                                • Organisationen und Konten
                                • Geschäftskontinuität und Datenwiederherstellung
                                • Leistungsoptimierung
                                • Kosten und Abrechnung
                                BenutzerhandbücherSnowflake AI & MLCortex SearchBatch Cortex Search

                                Batch Cortex Search¶

                                Snowflake-Logo in Schwarz (ohne Text) Vorschau-Feature – Offen

                                Verfügbar bei allen Konten.

                                Die Batch Cortex Search-Funktion ist eine Tabellenfunktion, mit der Sie einen Batch von Abfragen an einen Cortex Search Service übermitteln können. Es ist für Offline-Anwendungsfälle mit hohen Durchsatzanforderungen gedacht, z. B. bei der Auflösung von Entitäten, der Deduplizierung oder beim Clustering von Aufgaben.

                                Jobs, die mit der CORTEX_SEARCH_BATCH-Funktion an einen Cortex Search Service übermittelt wurden, nutzen zusätzliche Computeressourcen, um einen deutlich höheren Durchsatz (Abfragen pro Sekunde) zu erzielen als die interaktiven (Python, REST oderSEARCH_PREVIEW) API-Weboberflächen für Suchabfragen.

                                Syntax¶

                                Verwenden Sie die folgende Syntax, um einen Cortex Search Service im Batchmodus unter Verwendung der CORTEX_SEARCH_BATCH-Tabellenfunktion abzufragen:

                                SELECT
                                    q.query,
                                    r.*
                                FROM query_table AS q,
                                LATERAL CORTEX_SEARCH_BATCH(
                                    service_name => '<database>.<schema>.<cortex_search_service>',
                                    query => q.query,                   -- optional STRING
                                    multi_index_query => q.miq,         -- optional VARIANT
                                    filter => q.filter,                 -- optional VARIANT
                                    limit => 10,                        -- optional INT
                                    options => q.options                -- optional VARIANT
                                ) AS r;
                                

                                Parameter¶

                                Die CORTEX_SEARCH_BATCH-Funktion unterstützt die folgenden Parameter:

                                service_name (string, erforderlich)

                                Vollqualifizierter Name des abzufragenden Cortex Search Service.

                                query (string, optional):

                                Spalte, die die Abfragezeichenfolge für die Suche des Service enthält.

                                multi_index_query (variant, optional)

                                Ein Objekt, das eine oder mehrere Vektor- oder Schlüsselwortabfrageeingaben angibt, die im Serviceindex gesucht werden sollen. Details zum Erstellen dieses Parameters finden Sie unter multi_index_query.

                                Bemerkung

                                Aus Leistungsgründen unterstützt multi_index_query derzeit höchstens einen Vektorindexeintrag im Abfragearray.

                                filter (variant, optional)

                                Spalte mit Filterobjekten, die auf die Suchergebnisse angewendet werden sollen.

                                limit (integer, optional):

                                Maximale Anzahl von Ergebnissen, die pro Abfrage zurückgegeben werden sollen Standard: 10.

                                options (variant, optional)

                                Spalte, die ein VARIANT-Objekt mit optionalen Einstellungen pro Abfrage enthält. Zu den unterstützten Schlüsseln der obersten Ebene gehören:

                                • scoring_config (Objekt, optional): Gleiche Struktur wie der scoring_config-Parameter für interaktive Cortex Search-Abfragen (Python, REST oder SEARCH_PREVIEW). Verwenden Sie ihn, um die Rangfolge für die Batch-Abfrage dieser Zeile anzupassen. Siehe Anpassen der Cortex Search-Bewertungen.

                                • replicas (integer, optional): Gibt an, wie viele Kopien des Suchindexes die Batch-Abfrage dieser Zeile bedienen. Standard: 2. Höhere Werte können den Durchsatz verbessern. Die Kosten für die -Bereitstellung steigen im Verhältnis zur Anzahl der Replikate.

                                • experimental (Objekt, optional): Objekt, das für experimentelle oder Vorschau-Suchverhalten reserviert ist. Felder und Semantik können sich ohne Vorankündigung ändern. Verwenden Sie diesen Parameter nur, wenn die Snowflake-Dokumentation oder der Support Sie anweist, bestimmte Schlüssel festzulegen.

                                Bemerkung

                                Mindestens query, multi_index_query oder filter muss angegeben werden.

                                Nutzungshinweise¶

                                • Der Durchsatz der Batch-Suchfunktion kann je nach Umfang der im abgefragten Cortex Search Service indizierten Daten und der Komplexität der Suchabfragen variieren. Führen Sie die Funktion für eine kleine Anzahl von Abfragen aus, um den Durchsatz für Ihren speziellen Workload zu messen. Im Allgemeinen weisen Abfragen für größere Services mit mehr Filterbedingungen einen geringeren Durchsatz auf.

                                • Der Durchsatz der Batch-Suchfunktion, d. h. die Anzahl der pro Sekunde verarbeiteten Suchabfragen, wird nicht von der Größe des für die Abfrage verwendeten Warehouse beeinflusst.

                                • Da die Batch-Suche dedizierte Ressourcen für jeden Job bereitstellt, verursacht sie eine zusätzliche Startlatenz. Wenn Sie weniger als 2.000 Abfragen ausführen müssen, erhalten Sie in der Regel schnellere Ergebnisse, wenn Sie die interaktive Cortex Search API (Python oder REST API) anstelle der Batch-Suche verwenden.

                                • Im Gegensatz zur interaktiven Cortex Search API kann die Batch-Suchfunktion Services abfragen, deren Bereitstellung derzeit ausgesetzt ist.

                                • Ein einzelner Cortex Search Service kann gleichzeitig im interaktiven und im Batch-Modus abgefragt werden, ohne dass die Leistung oder der Durchsatz der interaktiven Abfrage beeinträchtigt wird. Für interaktive Abfragen und Batch-Abfragen werden separate Computeressourcen verwendet.

                                Hinweise zu Kosten¶

                                Die Batch-Suche hat drei Kostenkomponenten:

                                Bereitstellungskosten

                                Eine Gebühr basierend auf der Größe der Suchindexdaten und der Dauer des Batch-Suchjobs, ohne die Startzeit. Spiegelt auch den replicas-Wert in``options`` (Standard 2) wider; siehe``replicas``-Option weiter oben.

                                Kosten für Abfrageeinbettung

                                Eine Gebühr für die Anzahl der Token, die als Ergebnis der Eingabeabfragen eingebettet sind. Im Gegensatz zur interaktiven Cortex Search ist die Einbettung von Abfragen bei der Batch-Suche nicht kostenlos.

                                Kosten für virtuelles Warehouse

                                Eine Gebühr für die Verarbeitung des virtuellen Warehouses, die zur Ausführung des Batch-Jobs verwendet wird.

                                Weitere Informationen zur Nutzungsverfolgung finden Sie in der Account Usage-Ansicht CORTEX_SEARCH_BATCH_QUERY_USAGE_HISTORY. Weitere Informationen zu den Kosten für Cortex Search finden Sie unter Hinweise zu Kosten.

                                Regionale Verfügbarkeit¶

                                Die Batch-Suche ist in allen Regionen verfügbar, in denen Cortex Search verfügbar ist. Eine vollständige Liste der unterstützten Regionen finden Sie unter Regionale Verfügbarkeit.

                                Nutzungsbeispiel¶

                                In diesem Beispiel werden die Produkte in einem von einem Benutzenden übermittelten Bestellformular mit einem „Gold-“Produktkatalog abgeglichen. Der CORTEX_SEARCH_BATCH-Aufruf verwendet options, sodass die Einbettungen ohne das Standardpräfix für die Suchabfrage berechnet werden; siehe Deaktivieren des Abfragepräfixes für Vektoreinbettungen. Verwenden Sie diese Einstellung erst, wenn Sie die Auswirkungen auf die Ergebnisqualität ausgewertet haben.

                                -- Create the golden product catalog with canonical product names
                                CREATE OR REPLACE TABLE golden_catalog (product_name TEXT);
                                INSERT INTO golden_catalog VALUES
                                  ('Wireless Bluetooth Headphones'),
                                  ('Wireless Noise-Canceling Earbuds'),
                                  ('USB-C Charging Cable 6ft'),
                                  ('Portable Power Bank 10000mAh');
                                
                                -- Create Cortex Search Service on the golden catalog
                                CREATE CORTEX SEARCH SERVICE golden_product_service
                                ON product_name
                                WAREHOUSE = <warehouse_name>
                                TARGET_LAG = '1 day'
                                AS
                                SELECT product_name FROM golden_catalog;
                                
                                -- Create a table of user-submitted products (may contain variations or typos)
                                CREATE OR REPLACE TABLE submitted_products (product TEXT);
                                INSERT INTO submitted_products VALUES
                                  ('bluetooth headphones wireless'),
                                  ('usb c cable');
                                
                                -- For each user-submitted product, query the service for the two closest golden results
                                SELECT
                                  q.product, s.*
                                FROM submitted_products AS q,
                                LATERAL CORTEX_SEARCH_BATCH(
                                    service_name => 'golden_product_service',
                                    query => q.product,
                                    limit => 2,
                                    options => OBJECT_CONSTRUCT(
                                        'scoring_config', OBJECT_CONSTRUCT(
                                            'disable_vector_embedding_query_prefix', true
                                        )
                                    )
                                ) AS s;
                                

                                Im folgenden Beispiel wird multi_index_query verwendet, um vorberechnete Einbettungen als Abfrageeingabe anstelle von Rohtext zu übermitteln. Hier enthält die Quelltabelle``my_db.my_schema.product_embeddings`` eine Spalte embedding mit vorberechneten Vektoren und der Cortex Search Service my_db.my_schema.golden_product_service wurde mit einer BYOV-Konfiguration (Bring your own vector) erstellt. Weitere Informationen zur Erstellung von``multi_index_query`` finden Sie unter multi_index_query.

                                SELECT
                                    q.product_name,
                                    s.*
                                FROM (
                                    SELECT
                                        product_name,
                                        embedding::ARRAY AS emb_arr
                                    FROM my_db.my_schema.product_embeddings
                                    LIMIT 100000
                                ) q,
                                LATERAL CORTEX_SEARCH_BATCH(
                                    service_name => 'my_db.my_schema.golden_product_service',
                                    multi_index_query => OBJECT_CONSTRUCT(
                                        'EMBEDDING', ARRAY_CONSTRUCT(
                                            OBJECT_CONSTRUCT('vector', q.emb_arr)
                                        )
                                    ),
                                    limit => 5
                                ) s;
                                

                                War diese Seite hilfreich?

                                Besuchen Sie Snowflake
                                An Diskussion beteiligen
                                Mit Snowflake entwickeln
                                Teilen Sie Ihr Feedback mit
                                Lesen Sie Neuigkeiten in unserem Blog
                                Eigene Zertifizierung erhalten
                                DatenschutzNutzungsbedingungenCookie-Einstellungen© 2026 Snowflake, Inc. Alle Rechte vorbehalten.
                                1. Syntax
                                2. Parameter
                                3. Nutzungshinweise
                                4. Hinweise zu Kosten
                                5. Regionale Verfügbarkeit
                                6. Nutzungsbeispiel
                                1. Cortex Search
                                2. Abfrage eines Cortex Search Service
                                3. Anpassen der Cortex Search-Bewertungen
                                4. CREATE CORTEX SEARCH SERVICE