Auf dieser Seite werden die Funktionen für die Suche 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.
Feature | Sekundärer Index | Google-Suchindex |
---|---|---|
Sortierreihenfolge | Der Index wird nach allen Indexschlüsselspalten sortiert. | Der Suchindex kann nur nach maximal zwei benutzerdefinierten INT64-Spalten sortiert werden. |
Arrays | Arrays werden nicht als Schlüssel sekundärer Indexe unterstützt. | Suchindexe unterstützen die Array-Indexierung. Alle Tokens eines Dokuments befinden sich in derselben Spaltung. Transaktionen, die eine Zeile ändern, werden daher nur in einen Index-Split geschrieben. |
Suchanfragen | Bei der Suche nach Indexschlüssel muss nur auf eine Teilung zugegriffen werden. | Bei Abfragen, die den Suchindex verwenden, müssen in der Regel alle Teilungen einer bestimmten Partition gelesen werden. Die einzige Ausnahme ist das Top-K-Musterabgleich. |
Mehrspaltenindexierung | Sekundäre Indexe können mehrere Schlüsselspalten enthalten. Für eine effiziente Ausführung müssen Abfragen Daten nach dem Präfix der Indexschlüsselspalten suchen. | 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. |
Indexschnittmenge | Nutzer können ihre Abfrage neu schreiben, um mehrere sekundäre Indexe zusammenzuführen. | Die Schnittmenge mehrerer indexierter Spalten wird als effizienter lokaler Zig-Zag-Join implementiert, gefolgt von einer verteilten Merge-Union, die Ergebnisse aus allen relevanten Teilungen kombiniert. |
Daten lesen | SQL-Abfrage- oder Lese-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 im Suchindex getrennt von der Sortierreihenfolge definiert.
- Die Reihenfolge der
TOKENLIST
-Spalten in derON
-Klausel derCREATE SEARCH INDEX
-Anweisung ist unerheblich.