Búsqueda en e-commerce
Los compradores escriben lo que quieren con sus propias palabras. El catálogo se busca por significado y se filtra por la categoría y la tienda en la que están.
Encuentra los elementos más cercanos por significado, filtrados por etiqueta, dentro del mismo motor que guarda los propios elementos.
Las dimensiones y la métrica son fijas por índice. Los parámetros de HNSW se pueden ajustar cuando haga falta.
Un recorrido animado con comandos reales de HotKV y respuestas de ejemplo. Haz clic en cualquier paso para saltar a él. Los comandos y las respuestas se quedan en inglés, tal como los escribes y los ves en HotKV.
La búsqueda semántica, los "más como este" y la deduplicación se reducen a una sola pregunta. ¿Qué elementos guardados están más cerca de este? Responderla suele requerir una base de datos vectorial dedicada junto a tu almacén principal, y cada actualización de producto tiene que escribirse en ambos.
HotKV mantiene índices vectoriales HNSW dentro del motor. Los datos de producto viven en claves normales, los vectores se indexan con los mismos nombres de clave y las etiquetas de esas claves permiten que una búsqueda se mantenga dentro de una categoría o de un tenant. Una sola ruta de escritura, un solo sistema que operar.
Las dimensiones y la métrica son fijas por índice. Los parámetros de HNSW se pueden ajustar cuando haga falta.
VSIM.CREATEINDEX products 3 METRIC COSINELos datos del producto son un hash normal, con el nombre de clave que usará el índice.
HSET sku:1 name "Trail runner" price 89Las etiquetas de la clave permiten que una búsqueda vectorial se mantenga dentro de una categoría.
TAG.SET sku:1 shoes runningEl vector entra en el índice con el mismo nombre de clave.
VSIM.SET products sku:1 0.12 0.80 0.31Se genera el embedding del texto de la consulta y vuelven los productos más cercanos que llevan la etiqueta, con sus distancias.
VSIM.SEARCH products 3 0.10 0.82 0.29 FILTER shoesLos resultados son nombres de clave, así que los datos del producto están a una lectura de distancia en el mismo servidor.
HGETALL sku:1Los compradores escriben lo que quieren con sus propias palabras. El catálogo se busca por significado y se filtra por la categoría y la tienda en la que están.
Los tickets de soporte o los anuncios nuevos se comparan con los existentes, y los casi duplicados se fusionan antes de que los vea una persona.
Los embeddings de un modelo de imágenes encuentran fotos o clips visualmente parecidos en toda una biblioteca.
Búsqueda aproximada de vecinos más cercanos que sigue siendo rápida en índices grandes, O(log N) de media.
VSIM.CREATEINDEXVSIM.SEARCHCoseno, L2 y producto interno, elegidas por índice.
METRICLimita una búsqueda a las claves que llevan todas las etiquetas indicadas.
TAG.SETFILTERLos índices se conservan en tus snapshots y reescrituras de AOF como el resto de tus datos.
VSIM.INFONo. Crea los vectores con el modelo de embeddings que prefieras y guárdalos con VSIM.SET.
VSIM es el índice vectorial general. Los pipelines RAG se basan en la misma idea y añaden fragmentación, metadatos y búsqueda híbrida por palabras clave para documentos.
La búsqueda vectorial y las etiquetas son comandos del núcleo y funcionan en todos los planes, sin necesidad de licencia.
HotKV habla el protocolo de Redis, así que puedes apuntar un cliente que ya usas hacia él y ejecutar estos mismos comandos.