How to Set Up AACSearch as Your Search Service

Alex Chibilyaev

Alex Chibilyaev

5/3/2025

#tutorial#migration#getting-started
How to Set Up AACSearch as Your Search Service

Wenn Sie selbst gehostetes traditional search systems betreiben, kennen Sie den Schmerz: JVM-Heap-Tuning, Cluster-Health-Überwachung, Shard-Rebalancing, Snapshot-Repositories … die Liste ist lang. Ihre monatliche Cloud-Rechnung für das 3-Knoten-Cluster liegt bei 300–500 $ pro Monat.

Der Wechsel zu AACSearch dauert 20 Minuten und senkt Ihre Suchkosten um das Zehnfache. So geht's.

Voraussetzungen

  • Ein AACSearch-Konto (kostenlose Stufe — 10.000 Dokumente)
  • Der Name Ihres aktuellen traditional search systems-Index
  • Das Tool elasticdump (npm install elasticdump -g)
  • Python 3.6+ (für das Schema-Konvertierungsskript)

Schritt 1: traditional search systems-Mapping exportieren

Exportieren Sie zunächst Ihr Index-Mapping und Ihre Daten aus traditional search systems:

# Export mapping
elasticdump \
  --input=http://localhost:9200/your-index \
  --output=./mapping.json \
  --type=mapping

# Export data
elasticdump \
  --input=http://localhost:9200/your-index \
  --output=./data.json \
  --type=data

Schritt 2: In das AACSearch-Schema konvertieren

AACSearch verwendet abgeleitete Schemata, sodass die meisten Konvertierungen automatisch erfolgen. Dennoch sollten Sie diese ES-spezifischen Typen beachten:

  • textstring (AACSearch erkennt automatisch)
  • keywordstring (mit facet: true für Aggregationen)
  • integer / longint64 oder float
  • nested → zu einem flachen Objekt abflachen (AACSearch unterstützt keine verschachtelten Objekte)
  • datestring im ISO-8601-Format (AACSearch speichert als String)

Erstellen Sie einen neuen Index in AACSearch:

  1. Melden Sie sich in Ihrem Dashboard an
  2. Klicken Sie auf Neuer Index → vergeben Sie einen Namen (z. B. products-v1)
  3. Wählen Sie ImportierenJSON hochladen

AACSearch erkennt Ihr Schema automatisch und erstellt die AACSearch-Collection.

Schritt 3: Daten hochladen

Der schnellste Weg für kleine bis mittelgroße Datensätze:

# Upload using the AACSearch API
curl -X POST https://api.AACSearch.com/v1/collections/products-v1/documents/import \
  -H "X-API-Key: ss_search_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d @data.json

Für Datensätze über 100 MB nutzen Sie die Funktion Massenimport im Dashboard mit geteilten Uploads (automatisch).

Schritt 4: Anwendungscode aktualisieren

Ersetzen Sie Ihren traditional search systems-Client durch den AACSearch-Client:

Vorher (traditional search systems):

import { SearchClient } from "search-client";

const client = new SearchClient({ endpoint: "http://localhost:9200" });
const { hits } = await client.search({
	index: "products",
	body: { query: { match: { name: "wireless headphones" } } },
});

Nachher (AACSearch):

import { AACSearch } from "@repo/search-client";

const search = new AACSearch({
	apiKey: "ss_search_YOUR_KEY",
});

const results = await search.query("wireless headphones", {
	collection: "products-v1",
	filters: { inStock: true },
});

Schritt 5: Überprüfen und umschalten

Führen Sie einen Rauchtest durch:

# Test a few queries against AACSearch
curl "https://api.AACSearch.com/v1/search?q=wireless+headphones&collection=products-v1" \
  -H "X-API-Key: ss_search_YOUR_KEY"

Vergleichen Sie die Ergebnisse mit Ihrer aktuellen traditional search systems-Ausgabe. In den meisten Fällen ist das Relevanz-Ranking vergleichbar oder besser — der TF-IDF von AACSearch mit konfigurierbaren Feldgewichtungen gibt Ihnen eine feingranulare Kontrolle über die Ergebnisreihenfolge.

Sobald die Überprüfung abgeschlossen ist, leiten Sie Ihre Produktionsanwendung zu AACSearch um und stellen Sie Ihren traditional search systems-Cluster außer Dienst.

Was ist mit Ausfallzeiten?

Da Ihr traditional search systems-Cluster und AACSearch während der Migration unabhängig voneinander laufen, besteht kein Ausfallrisiko. Sie können:

  1. Beide parallel laufen lassen (Minuten bis Stunden)
  2. Einen Prozentsatz des Datenverkehrs zu AACSearch leiten, um zu testen
  3. Zu 100 % umschalten, wenn Sie sicher sind

Das unterbrechungsfreie Reindexing von AACSearch bedeutet, dass zukünftige Schemaänderungen keine weitere Migration erfordern — klicken Sie einfach im Dashboard auf Neu indizieren.

Kostenvergleich

| | Selbst gehostetes ES (3 Knoten) | AACSearch Pro | | ----------------- | -------------------------------------------- | --------------- | | Monatliche Kosten | ~350 $ (AWS m6g.large x3) | 29 $/Monat | | Wartung | JVM-Tuning, Backups, Patches | Keine | | Skalierung | Knoten hinzufügen, Shards neu ausbalancieren | Upgrade klicken | | Backups | Manueller Snapshot-Lebenszyklus | Automatisch |

Ersparnis: 10-fach, plus Ihre DevOps-Zeit zurückgewonnen.

Nächste Schritte

Kostenloses AACSearch-Konto erstellen →

Bereits migriert? Teilen Sie Ihre Erfahrungen →