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 está ejecutando traditional search systems autogestionado, conoce el dolor: ajuste del montón JVM, monitoreo del estado del clúster, rebalanceo de shards, repositorios de snapshots… la lista es interminable. Mientras tanto, su factura mensual de la nube para ese clúster de 3 nodos es de $300–500/mes.

Migrar a AACSearch toma 20 minutos y reduce sus costos de búsqueda en 10x. Así es exactamente cómo hacerlo.

Prerrequisitos

  • Una cuenta de AACSearch (nivel gratuito — 10K documentos)
  • El nombre de su índice actual de traditional search systems
  • La herramienta elasticdump (npm install elasticdump -g)
  • Python 3.6+ (para el script de conversión de esquema)

Paso 1: Exportar su mapeo de traditional search systems

Primero, descargue el mapeo y los datos de su índice desde 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

Paso 2: Convertir al esquema de AACSearch utiliza esquemas inferidos, por lo que la mayoría de las conversiones son automáticas. Sin embargo, deberá manejar estos tipos específicos de ES:

  • textstring (AACSearch lo detecta automáticamente)
  • keywordstring (con facet: true para agregaciones)
  • integer / longint64 o float
  • nested → aplanar a un objeto plano (AACSearch no soporta objetos anidados)
  • datestring en formato ISO 8601 (AACSearch lo almacena como string)

Cree un nuevo índice en AACSearch:

  1. Inicie sesión en su panel de control
  2. Haga clic en Nuevo índice → asígnele un nombre (ej., products-v1)
  3. Seleccione ImportarSubir JSON

AACSearch detectará su esquema automáticamente y creará la colección de AACSearch.

Paso 3: Subir sus datos

La forma más rápida para conjuntos de datos pequeños a medianos:

# 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

Para conjuntos de datos de más de 100 MB, use la función de Importación masiva del panel de control con cargas fragmentadas (automático).

Paso 4: Actualizar el código de su aplicación

Reemplace su cliente de traditional search systems con el cliente de AACSearch:

Antes (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" } } },
});

Despué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 },
});

Paso 5: Verificar y migrar definitivamente

Ejecute una prueba de humo:

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

Compare los resultados con la salida actual de traditional search systems. En la mayoría de las configuraciones, la clasificación de relevancia será comparable o mejor — el TF-IDF de AACSearch con ponderaciones de campo configurables le brinda un control detallado sobre el orden de los resultados.

Una vez verificado, apunte su aplicación de producción a AACSearch y dé de baja su clúster de traditional search systems.

¿Qué pasa con el tiempo de inactividad cero?

Dado que su clúster de traditional search systems y AACSearch se ejecutan de forma independiente durante la migración, no hay riesgo de tiempo de inactividad. Puede:

  1. Mantener ambos funcionando en paralelo (minutos–horas)
  2. Dirigir un porcentaje del tráfico a AACSearch para realizar pruebas
  3. Cambiar al 100 % cuando tenga confianza

El reindexado sin tiempo de inactividad de AACSearch significa que los cambios futuros de esquema no requerirán otra migración — simplemente haga clic en Reindexar en el panel de control.

Comparación de costos

| | ES autogestionado (3 nodos) | AACSearch Pro | | ------------------- | ---------------------------------------- | ------------------ | | Costo mensual | ~$350 (AWS m6g.large x3) | $29/mes | | Mantenimiento | Ajuste JVM, copias de seguridad, parches | Ninguno | | Escalado | Agregar nodos, rebalancear shards | Clic en actualizar | | Copias de seguridad | Ciclo de vida manual de snapshots | Automático |

Ahorro: 10x, más su tiempo de DevOps recuperado.

Próximos pasos

Cree su cuenta gratuita de AACSearch →

¿Ya migró? Comparta su experiencia →