Auf dieser Seite werden die Funktionen für Suchindexe und sekundäre Indexe beschrieben.
Bei der Entscheidung zwischen Suchindexen und sekundären Indexen sollten Sie beachten, dass Suchindexe die Standardauswahl für Full-Text-Anwendungsfälle sein sollten und sekundäre Indexe die Standardoption für alle anderen Fälle. In der folgenden Tabelle wird beschrieben, wann Sie die einzelnen Indextypen verwenden sollten.
Funktion | Sekundärer Index | Google-Suchindex |
---|---|---|
Sortierfolge | Der Index wird nach allen Indexschlüsselspalten sortiert. | Suchindex kann nur nach maximal zwei nutzergesteuerten INT64-Spalten sortiert werden |
Arrays | Arrays werden nicht als Schlüssel von sekundären Indexen unterstützt. | Suchindexe unterstützen die Array-Indexierung. Alle Tokens eines Dokuments befinden sich im selben Split. Daher werden Transaktionen, die eine Zeile ändern, nur in einen Index-Split geschrieben. |
Suchanfragen | Die Suche nach Indexschlüssel braucht nur auf einen Split zuzugreifen | Abfragen, die einen Suchindex verwenden, müssen in der Regel aus allen Splits einer bestimmten Partition lesen. Die einzige Ausnahme ist das Top-K-Musterabgleich. |
Mehrspaltige Indexierung | Sekundäre Indexe können mehrere Schlüsselspalten enthalten. Für eine effiziente Ausführung müssen bei Abfragen Daten anhand des Präfix der Indexschlüsselspalten gesucht werden. | Suchindexe können mehrere Spalten indexieren. In Abfragen können komplexe logische Ausdrücke (Konjunktionen, Disjunktionen, Negationen) für beliebige Teilmengen der indexierten Spalten angegeben werden und trotzdem effizient ausgeführt werden. |
Indexkreuzung | Nutzer können ihre Abfrage neu schreiben, um mehrere sekundäre Indexe zusammenzuführen. | Die Überschneidung mehrerer indexierter Spalten wird als effizienter lokaler Zick-Zack-Join implementiert, gefolgt von einem verteilten Merge-Union-Vorgang, bei dem die Ergebnisse aus allen relevanten Splits kombiniert werden. |
Daten lesen | SQL Query oder Read API | SQL-Abfrage |
Neben der Semantik unterscheidet sich die Syntax der DDL-Anweisung zum Erstellen eines Suchindex von der DDL-Syntax zum Erstellen eines sekundären Index:
- Indexierte Spalten werden getrennt von der Sortierreihenfolge in den Suchindex.
- Die Reihenfolge der
TOKENLIST
-Spalten in derON
-Klausel derCREATE SEARCH INDEX
-Anweisung ist unerheblich.