es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Consulta de Redisearch con coincidencia parcial

Estoy encontrando un pequeño problema con el comando FT.SEARCH de redisearch:

Para estos datos cuyo valor es este: ns=2;s=OIGateway:ArchestrA.ACU.AO_ACU230_AIn_CabTp.fa_A2OutOfRan

¿Cómo es que esta consulta:

FT.SEARCH index ‘ns 2 s oigateway archestra acu ao_acu230_ain_cabtp fa_a2o* ‘

Devuelve el resultado

Mientras que esta otra:

FT.SEARCH index ‘ns 2 s oigateway archestra acu ao_acu230_ain_cabtp fa_a2* ‘

(Nota que falta la ‘o’ al final)

No devuelve nada?

Gracias por sus respuestas.

Tags:  

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Redisearch, la razón por la cual la segunda consulta, FT.SEARCH index 'ns 2 s oigateway archestra acu ao_acu230_ain_cabtp fa_a2*', no devuelve ningún resultado es que la consulta utiliza un carácter comodín (*) al final del término de búsqueda fa_a2* para buscar todos los resultados que coincidan que comiencen con fa_a2 y tengan cualquier caracter(es) después de ello. Sin embargo, en los datos proporcionados, el último carácter después de fa_a2 no es un carácter variable sino un carácter fijo OutOfRan. Por lo tanto, la consulta de búsqueda no coincidirá con ningún resultado que tenga un carácter fijo después de fa_a2. Por otro lado, la primera consulta, FT.SEARCH index 'ns 2 s oigateway archestra acu ao_acu230_ain_cabtp fa_a2OutOfRan', proporciona explícitamente el término completo de búsqueda, incluido el carácter fijo OutOfRan, lo cual devuelve un resultado que coincide con el término de búsqueda exacto proporcionado.

Comments are closed.