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 Ihre Daten abgefragt und Filter direkt in einem Vektorähnlichkeitssuchvorgang angewendet werden. Diese Vektorähnlichkeitsabfragen verwenden Filter für dieselben Datenbanktabellen und führen die Filterauswertung durch, während die Entfernung für die Identifizierung der 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. Ein niedrigerer Wert führt 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 während der Neuordnungsschritte berücksichtigt werden sollen, nachdem bei der ersten Suche eine Reihe von Kandidaten ermittelt 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 während 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) |