Búsqueda con Typesense (opcional)
Acelere y mejore todas las búsquedas de HWD POS con el motor de búsqueda opcional Typesense.
HWD POS puede acelerar todas sus búsquedas con Typesense, un buscador tolerante a erratas: productos, clientes, proveedores y los documentos de la cadena de venta (cotización → pedido → factura → entrega → envío → crédito).
Es totalmente opcional. Hay un respaldo automático a SQL: si Typesense está apagado, sin configurar o no responde, cada búsqueda usa exactamente la misma consulta SQL de siempre. Nunca se queda sin búsqueda.
El interruptor
El interruptor (encendido por defecto), los datos de conexión, Probar conexión y Reindexar todo están en Sistema → Salud y respaldos → Servicio de búsqueda (/admin/system).
Con la API key vacía el interruptor no importa: se usa la búsqueda por SQL. Es el comportamiento por defecto.
1. Instalar y arrancar el servidor Typesense
Recomendado. En el servidor, abra hwdpanel y elija 14) Instalar/actualizar servicio de búsqueda (Typesense + auto-arranque).
Descarga el binario oficial, lo deja como servicio systemd typesense-server (arranca solo al reiniciar), genera la API key de administrador si no existe, registra la conexión en HWD POS y reconstruye el índice. No hay que hacer nada más.
Use un valor largo y aleatorio para YOUR_TYPESENSE_KEY.
Claves (API keys)
La opción 14 genera o reutiliza la clave de administrador (la de --api-key), que HWD POS usa para indexar y buscar.
Para claves adicionales, por ejemplo una de solo búsqueda para un cliente externo, use 15) Gestionar claves de búsqueda en hwdpanel. Lista, crea (muestra el valor una sola vez) y elimina claves mediante la API de Typesense.
2. Configurar la conexión en HWD POS
Basta con una de las dos formas. En Ubuntu, la opción 14 de hwdpanel ya la deja hecha.
Desde la interfaz. En Sistema → Servicio de búsqueda, llene:
| Campo | Valor |
|---|---|
| Host | 127.0.0.1 |
| Puerto | 8108 |
| Protocolo | http |
| API key | Su clave de Typesense |
Presione Guardar y después Probar conexión.
Desde storage/config.php. Agregue un bloque typesense dentro de app (consulte Configuración de la aplicación):
return [
'db' => [ /* … */ ],
'app' => [
// …
'typesense' => [
'host' => '127.0.0.1',
'port' => '8108',
'protocol' => 'http',
'api_key' => 'YOUR_TYPESENSE_KEY',
],
],
];Con la API key vacía, Typesense queda apagado y todo funciona con SQL.
3. Construir el índice (obligatorio la primera vez)
cd /var/www/HWDPOS && php scripts/typesense_reindex.phpCrea las colecciones (products, customers, suppliers, documents) y sube todos los registros. También puede usar el botón Reindexar todo en la pantalla del servicio de búsqueda.
4. Mantener el índice al día
- Incremental (automático). Al guardar un producto, cliente o proveedor, y al emitir cotizaciones, facturas, pedidos o créditos, HWD POS actualiza Typesense en segundo plano. Es de mejor esfuerzo: nunca bloquea ni interrumpe la operación.
- Cron (recomendado). Una reindexación periódica cubre cualquier cambio hecho por fuera de la aplicación: importaciones masivas, ediciones directas en la base de datos o el cambio de nombre de clientes que aparecen en documentos.
*/10 * * * * cd /var/www/HWDPOS && php scripts/typesense_reindex.php >/dev/null 2>&1Si Typesense no responde
HWD POS usa tiempos de espera de conexión cortos, así que si el servidor Typesense está caído el paso a SQL es inmediato. Las búsquedas siguen funcionando con la búsqueda SQL estándar; reinicie el servicio (sudo systemctl restart typesense-server) y reindexe si hace falta.