Parameter für die Abstimmung
Die folgenden Indexparameter und Datenbank-Flags werden zusammen verwendet, um das richtige Gleichgewicht zwischen Recall und QPS zu finden.
| Parameter für die Abstimmung | Beschreibung | Optionstyp |
|---|---|---|
max_num_levels |
Die maximale Anzahl der Zentroid-Ebenen des K-Means-Clustering-Baums.
|
Indexerstellung (optional) |
num_leaves |
Die Anzahl der Partitionen, die auf diesen Index angewendet werden sollen. Die Anzahl der Partitionen, die Sie beim Erstellen eines Index anwenden, wirkt sich auf die Indexleistung aus. Wenn Sie die Anzahl der Partitionen für eine bestimmte Anzahl von Vektoren erhöhen, erstellen Sie einen feineren Index, der den Recall und die Abfrageleistung verbessert. Dies führt jedoch zu längeren Indexerstellungszeiten. Da dreistufige Bäume schneller erstellt werden als zweistufige Bäume, können Sie den Wert von num_leaves_value erhöhen, wenn Sie einen dreistufigen Baumindex erstellen, um eine bessere Leistung zu erzielen.
|
Indexerstellung (erforderlich) |
quantizer |
Der Typ des Quantisierers, den Sie für den K-Means-Baum verwenden möchten. Der Standardwert ist auf SQ8 festgelegt, was eine bessere Abfrageleistung bei minimalem Recall-Verlust (in der Regel weniger als 1–2%) bietet.Legen Sie ihn auf FLAT fest, wenn ein Recall von 99% oder höher erforderlich ist. |
Indexerstellung (optional) |
scann.enable_inline_filtering |
Aktiviert die Unterstützung für Inline-Filterung, mit der Sie Ihre Daten abfragen und Filter direkt in einem Vorgang zur Suche nach Vektorähnlichkeiten anwenden können. Diese Abfragen zur Vektorähnlichkeit verwenden Filter für dieselben Datenbanktabellen und führen die Filterauswertung durch, während die Entfernung für die Identifizierung des nächsten Nachbarn berechnet wird. Diese Option ist standardmäßig deaktiviert. Wenn Sie die Inline-Filterung aktivieren möchten, legen Sie diesen Parameter auf true fest. Wenn Sie eine Verschlechterung der Leistung feststellen, legen Sie den Wert auf false fest.Diese Option ist in der Vorschau verfügbar. |
Abfragelaufzeit (optional) |
scann.enable_pca |
Aktiviert die Hauptkomponentenanalyse (Principal Component Analysis, PCA), eine Technik zur Dimensionsreduzierung, mit der die Größe der Einbettung nach Möglichkeit automatisch
reduziert wird. Diese Option ist standardmäßig aktiviert. Legen Sie den Wert auf false fest, wenn Sie eine Verschlechterung des Recalls feststellen. |
Indexerstellung (optional) |
scann.num_leaves_to_search |
Dieses Datenbank-Flag steuert die absolute Anzahl der zu durchsuchenden Blätter oder Partitionen. So können Sie ein Gleichgewicht zwischen Recall und QPS finden. Der Standardwert beträgt 1% des in num_leaves festgelegten Werts. Ein höherer Wert führt zu einem besseren Recall, aber zu einer niedrigeren QPS. Entsprechend führt ein niedrigerer Wert zu einem niedrigeren Recall, aber zu einer höheren QPS. |
Abfragelaufzeit (optional) |
scann.pre_reordering_num_neighbors |
Wenn dieses Datenbank-Flag festgelegt ist, gibt es die Anzahl der Kandidatennachbarn an, die in den Phasen der Neuordnung berücksichtigt werden sollen, nachdem bei der ersten Suche eine Reihe von Kandidaten identifiziert wurde. Legen Sie für diesen Parameter einen Wert fest, der höher ist als die Anzahl der Nachbarn, die von der Abfrage zurückgegeben werden sollen. Ein höherer Wert führt zu einem besseren Recall, aber zu einer niedrigeren QPS. Legen Sie diesen Wert auf 0 fest, um die Neuordnung zu deaktivieren. Der Standardwert ist 0, wenn die PCA bei der Indexerstellung nicht aktiviert ist. Andernfalls ist der Standardwert 50 x K, wobei K das in der Abfrage angegebene LIMIT ist. |
Abfragelaufzeit (optional) |
scann.num_search_threads |
Die Anzahl der Sucher-Threads für die Suche mit mehreren Threads. Dies kann die Latenz einzelner Abfragen verringern, indem mehr als ein Thread für die ScaNN-ANN-Suche in latenzempfindlichen Anwendungen verwendet wird. Diese Einstellung verbessert die Latenz einzelner Abfragen nicht, wenn die Datenbank bereits CPU-gebunden ist. Der Standardwert ist 2. |
Abfragelaufzeit (optional) |