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

Si vous utilisez traditional search systems auto-hébergé, vous connaissez la douleur : réglage du tas JVM, surveillance de l'état du cluster, rééquilibrage des shards, dépôts de snapshots… la liste est longue. Pendant ce temps, votre facture mensuelle pour ce cluster à 3 nœuds est de 300 à 500 $/mois.

Migrer vers AACSearch prend 20 minutes et réduit vos coûts de recherche de 10x. Voici exactement comment procéder.

Prérequis

  • Un compte AACSearch (niveau gratuit — 10K documents)
  • Le nom de votre index traditional search systems actuel
  • L'outil elasticdump (npm install elasticdump -g)
  • Python 3.6+ (pour le script de conversion de schéma)

Étape 1 : Exporter votre mapping traditional search systems

Commencez par exporter le mapping et les données de votre index depuis 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

Étape 2 : Convertir vers le schéma AACSearch utilise des schémas inférés, donc la plupart des conversions sont automatiques. Cependant, vous devrez traiter ces types spécifiques à ES :

  • textstring (AACSearch détecte automatiquement)
  • keywordstring (avec facet: true pour les agrégations)
  • integer / longint64 ou float
  • nested → aplatir en un objet plat (AACSearch ne prend pas en charge les objets imbriqués)
  • datestring au format ISO 8601 (AACSearch stocke comme string)

Créez un nouvel index dans AACSearch :

  1. Connectez-vous à votre tableau de bord
  2. Cliquez sur Nouvel index → nommez-le (ex. products-v1)
  3. Sélectionnez ImporterTélécharger JSON

AACSearch détectera automatiquement votre schéma et créera la collection AACSearch.

Étape 3 : Télécharger vos données

La façon la plus rapide pour les jeux de données petits à moyens :

# 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

Pour les jeux de données de plus de 100 Mo, utilisez la fonction d'Import en masse du tableau de bord avec des téléchargements fragmentés (automatique).

Étape 4 : Mettre à jour le code de votre application

Remplacez votre client traditional search systems par le client AACSearch :

Avant (traditional search systems) :

import { Client } from "@aacsearch/client";

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

Après (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 },
});

Étape 5 : Vérifier et basculer

Effectuez un test de fumée :

# 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"

Comparez les résultats avec la sortie actuelle d'traditional search systems. Pour la plupart des configurations, le classement de pertinence sera comparable ou meilleur — le TF-IDF de AACSearch avec des pondérations de champ configurables vous donne un contrôle précis sur l'ordre des résultats.

Une fois vérifié, pointez votre application de production vers AACSearch et décommissionnez votre cluster traditional search systems.

Qu'en est-il du zéro temps d'arrêt ?

Étant donné que votre cluster traditional search systems et AACSearch fonctionnent indépendamment pendant la migration, il n'y a aucun risque de temps d'arrêt. Vous pouvez :

  1. Garder les deux en parallèle (minutes à heures)
  2. Router un pourcentage du trafic vers AACSearch pour tester
  3. Basculer à 100 % lorsque vous êtes confiant

Le réindexage sans temps d'arrêt d'AACSearch signifie que les futurs changements de schéma ne nécessiteront pas une autre migration — cliquez simplement sur Réindexer dans le tableau de bord.

Comparaison des coûts

| | ES auto-hébergé (3 nœuds) | AACSearch Pro | | ------------------- | ------------------------------------------ | ------------------------- | | Coût mensuel | ~350 $ (AWS m6g.large x3) | 29 $/mois | | Maintenance | Réglage JVM, sauvegardes, correctifs | Aucune | | Passage à l'échelle | Ajouter des nœuds, rééquilibrer les shards | Cliquer sur mise à niveau | | Sauvegardes | Cycle de vie manuel des snapshots | Automatique |

Économies : 10x, plus votre temps DevOps récupéré.

Prochaines étapes

Créez votre compte AACSearch gratuit →

Déjà migré ? Partagez votre expérience →