Ersten Index erstellen
Erstellen Sie einen Suchindex, verstehen Sie das Collection-Alias-Modell und führen Sie Ihre erste Suchanfrage über das Dashboard aus.
Ein Suchindex in AACsearch entspricht einer Suchindex mit versionierter Benennung und einem Alias. Das Erstellen eines Index richtet die Suchindex ein und registriert den Index in der Datenbank.
Was ist ein Index?
Jeder Index repräsentiert einen durchsuchbaren Katalog – typischerweise einen pro Shop oder Produktsatz.
Organisation
└── SearchIndex (slug: "products")
collectionName: "org123_products_v1" ← Suchindex (versioniert)
aliasName: "org123_products" ← Suchmaschinen-Alias (stabil, zeigt immer auf die aktuelle Version)Alle Suchanfragen zielen auf den Alias, nicht direkt auf die versionierte Collection. Dies ermöglicht Zero-Downtime-Reindex – eine neue Version wird erstellt, während die aktuelle Version Traffic bedient, dann wird der Alias atomisch ausgetauscht.
Index über das Dashboard erstellen
- Öffnen Sie das SaaS-Dashboard unter
http://localhost:3000 - Wählen Sie Ihre Organisation aus dem Umschalter
- Navigieren Sie zu Suche → Indizes
- Klicken Sie auf Index erstellen
- Geben Sie einen Slug (z. B.
products) und einen optionalen Anzeigenamen ein - Klicken Sie auf Erstellen
Das Dashboard ruft searchRouter.createIndex auf, das die Suchindex einrichtet
und die SearchIndex-Zeile in Postgres erstellt.
Index über oRPC erstellen
import { orpc } from "@shared/lib/orpc-query-utils";
const index = await orpc.search.createIndex.call({
organizationId: "org_...",
slug: "products",
name: "Produktkatalog",
});Standard-Collection-Schema
Beim Erstellen eines Index richtet AACsearch eine Suchindex mit einem produktoptimierten Schema ein:
{
"fields": [
{ "name": "id", "type": "string" },
{ "name": "title", "type": "string", "weight": 10 },
{ "name": "sku", "type": "string", "weight": 8 },
{ "name": "brand", "type": "string", "weight": 5, "facet": true },
{ "name": "categories", "type": "string[]", "weight": 5, "facet": true },
{ "name": "description", "type": "string", "weight": 2 },
{ "name": "price", "type": "float", "facet": true },
{ "name": "sale_price", "type": "float", "optional": true },
{ "name": "availability", "type": "string", "facet": true },
{ "name": "locale", "type": "string", "facet": true },
{ "name": "created_at", "type": "int64" }
],
"default_sorting_field": "_text_match"
}Das Schema ist in packages/search/lib/collections.ts definiert und entwickelt sich mit der Produktschema-Version weiter.
Erstes Dokument einlesen
Sobald der Index erstellt ist, pushen Sie ein Dokument durch den Ingest-Buffer:
const result = await orpc.search.upsertDocument.call({
organizationId: "org_...",
indexSlug: "products",
document: {
id: "product-123",
title: "Kabellose Kopfhörer",
sku: "WH-2024",
brand: "Acme",
categories: ["Elektronik", "Audio"],
description: "Geräuschunterdrückende Over-Ear-Kopfhörer mit 30h Akku.",
price: 99.99,
availability: "in_stock",
locale: "de",
created_at: Math.floor(Date.now() / 1000),
},
});Dies ruft enqueueManySearchIngest() auf, das in SearchIngestBuffer schreibt. Der Hintergrund-Worker
nimmt es auf und leitet es innerhalb von Sekunden an AACSearch weiter.
Suchanfrage ausführen
Verwenden Sie den Tab Suchvorschau im Dashboard oder rufen Sie den öffentlichen Suchendpunkt direkt auf:
curl -X POST https://your-app.com/api/search \
-H "Authorization: Bearer ss_search_your_key" \
-H "Content-Type: application/json" \
-d '{
"indexSlug": "products",
"q": "headphones",
"queryBy": "title,description,brand",
"page": 1,
"perPage": 10
}'Siehe Öffentlicher Suchendpunkt für das vollständige Anfrageschema.
Was nach der Index-Erstellung passiert
- Die Erste Schritte-Checkliste im Dashboard aktualisiert sich und markiert „Index erstellen" als abgeschlossen
- Der Tab Import-Jobs wird für den Massen-CSV/JSON-Import verfügbar
- Der Tab API-Schlüssel zeigt das index-spezifische Schlüssel-Panel
- Der Tab Widget zeigt den Installations-Snippet mit dem vorausgefüllten Index-Slug
Nächste Schritte
- API-Schlüssel – Schlüssel für Ihre Integration generieren
- Ingest und Reindex – Massenimport und Schema-Updates
- Connector-Onboarding – CMS für automatische Synchronisierung verbinden
Lokale Entwicklung
Richten Sie das AACsearch-Monorepo für die lokale Entwicklung ein – Voraussetzungen, Umgebungsvariablen, Docker-Dienste und das Starten der Apps.
Index Schema Reference
Complete reference for index schemas — required fields, field types, searchable/facet/sort flags, slug rules, schema validation errors, and product/content catalog examples.