Hago éste post porque he estado hoy probando las búsquedas con comodines o wildcards y me he llevado algunas sorpresas. La primera es que no se pueden hacer búsquedas comodines en propiedades administradas que no devuelven datos... Se ve que se me escapa algo porque en estas propiedades se puede buscar con CONTAINS y con LIKE (sin wildcards) pero pese a poderse buscar en ellas luego no muestran nada si se cogen en el SELECT.
Me explico:
En ésta propiedad administrada (managed property) hemos introducido dos propiedades rastreadas (crawled properties) y le hemos dicho que incluya los valores de TODAS las propiedades. De este modo podemos hacer que las búsquedas por defecto sean más complejas [como en el ejemplo en el que podríamos hacer WHERE CONTAINS(ErChan,'VRG535 OR Chan')] pero luego si usamos comodines en ellas no funcionará.
En propiedades administradas que solo tengan una propiedad rastreada es donde tiene, por otro lado verdadero sentido hacer consultas del tipo WHERE Contains(NomFactura,'%RG%') aquí nos devolvería los items que tuvieran RG precedido de cualquier número de caracteres y seguido de otro cualquier número de caracteres.
Los comodines que he usado
- % que sustituye a cualquier número de caracteres.
- _ que sustituye a un solo caracter.
Gracias al uso de éstos comodines podremos hacer también por ejemplo búsquedas como WHERE CONTAINS(NomFactura,'_RG%')
Se me olvidó decir el otro día que también podemos usar cosas como WHERE CONTAINS(NomFactura,'Hola') AND NOT CONTAINS (Estado,'PAGADO').
Y con ésto he profundizado en el tema bastante más de lo que yo mismo creía que llegaría a profundizar. De todas formas, si llego a enterarme de algo interesante postearé más todavía.
Saludos a Portugal.
2 comentarios:
Y recuerda la grandísima restricción: La cláusula WHERE no puede empezar con la condición NOT CONTAINS.
Chis pom.
Prueba definiendo un scope. A mi me funciona esto: select title from scope() where "scope"='Jur***' AND NOT Contains(TipoR***,'AAA'). También es verdad que lo he probado con el ámbito Todos los sitios y me ha fallado :)
Saludos.
Publicar un comentario