Foros del Web » Programando para Internet » PHP »

Duda con Rlike y PHP

Estas en el tema de Duda con Rlike y PHP en el foro de PHP en Foros del Web. Hola!, estoy intentando tener plurales en las búsquedas, ya que si busco "neurona" no aparecen resultados de "neuronas". Había leído con búsquedas booleanas pero eran ...
  #1 (permalink)  
Antiguo 22/01/2013, 12:57
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 1 mes
Puntos: 29
Pregunta Duda con Rlike y PHP

Hola!, estoy intentando tener plurales en las búsquedas, ya que si busco "neurona" no aparecen resultados de "neuronas".

Había leído con búsquedas booleanas pero eran muy irrelevantes los resultados que arrojaba, y ahora estoy intentando con RLike.

Este sería el código normal:

Código MySQL:
Ver original
  1. SELECT * FROM webs WHERE webkeywords RLIKE '[[:<:]]mariposa[s|es]*[[:>:]]'= 1

Pero quiero reemplazar 'mariposa' por la variable $frase, que contiene la frase buscada:

Código MySQL:
Ver original
  1. SELECT * FROM webs WHERE webkeywords RLIKE '[[:<:]]\'$frase\'[s|es]*[[:>:]]'= 1

El problema es que de esta manera no está funcionando, ¿cómo puedo poner la variable y que sea funcional?

Saludos y gracias!!
  #2 (permalink)  
Antiguo 22/01/2013, 13:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda con Rlike y PHP

No tiene mucho sentido lo que haces, al menos si tratas de pluralizar todo dentro de la consulta.

Deberías tener una clase para pluralizar y usar dichos valores para generar tu consulta, de cualquier modo en algunos casos LIKE funcionaría bien.

Cita:
WHERE palabra LIKE '%mariposa%'
Eso capturaría igualmente "mariposas".

Yo usaría un diccionario para generar las palabras de búsqueda primero.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/01/2013, 13:19
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 1 mes
Puntos: 29
Respuesta: Duda con Rlike y PHP

El problema es que con LIKE captura cualquier cosa, por ejemplo %cara%, mostraría resultados de 'encarar' 'caracol' 'Caracas', etc.

Por eso intento hacer con rlike, para que solo muestre los plurales y no cualquier otra palabra que lo contenga.

¿Cómo se utiliza el diccionario?, o ¿cómo puedo crearlo?

Saludos
  #4 (permalink)  
Antiguo 22/01/2013, 13:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda con Rlike y PHP

Los diccionarios son colecciones de palabras para usar en pluralizaciones y así, en inglés se les conoce como inflectors.

Busca uno en español, deberían existir alguno, no se bien.

Pero la idea es esa, usas el diccionario para obtener la versión plural de cierta palabra y ahí si usas RLIKE para comparar ambos.

Cita:
WHERE palabra RLIKE '\b(pez|peces)\b'
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 22/01/2013, 13:46
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años
Puntos: 31
Respuesta: Duda con Rlike y PHP

y si optimizas tu like haciéndolo de esta manera

Código SQL:
Ver original
  1. LIKE 'lapicer%'

Etiquetas: resultados, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:10.