Loading

Author Topic: motor de busqueda osclass  (Read 235 times)

blittcer

  • Newbie
  • *
  • Posts: 35
  • Trabajando en el proyecto www.monoanuncios.es
    • MONOANUNCIOS.es
motor de busqueda osclass
« on: February 19, 2012, 07:31:21 pm »
Me gustaría saber donde puedo ver las características relativas al motor de búsqueda de osclass, las reglas de busqueda si existen excepciones y como incluirlas. Ahora mismo no se donde hay documentación sobre el motor de búsqueda o donde están todos los archivos referentes a él.
Hasta ahora se que va algo asi:




•   No importa si escribes con mayúsculas o minúsculas en las palabras de búsqueda.
•   Las palabras de búsqueda tienen que contener como mínimo tres letras.
•   Las palabras de búsqueda pueden contener las letras A-Z y números 0-9.
•    Los acentos, apóstrofes, signos de exclamación, interrogación, guiones, &, y otros signos parecidos se ignoran, de modo que el motor de búsqueda considera por ejemplo í como i y ó como o.
•   Todas las palabras de búsqueda tienen que estar en el título o en el texto para que el anuncio se muestre (con excepción de la próxima regla).
•   Si uno busca varias palabras y una de las palabras no produce ningún resultado, esta palabra se ignora. Es una excepción de la regla de arriba.


Me gustaría añadir estas reglas:

•   Que algunas palabras corrientes son ignoradas por el motor de búsqueda. Si uno por ejemplo busca la palabra "de" "y" no aparezca ningún resultado. (porque no tienen relevancia en las búsquedas y creo que podría así optimizarse los recursos.)

•   Que se ignorase también la / puesto que da problemas probad lo y veréis sale por ejemplo un < / strong> y todo marcado en negrita...
Trabajando en el proyecto www.monoanuncios.es

_CONEJO

  • Administrator
  • Hero Member
  • *****
  • Posts: 1919
Re: motor de busqueda osclass
« Reply #1 on: February 20, 2012, 12:21:29 pm »
Hola blittcer,


Por el momento usamos el FULLTEXT search de MySQL : http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html (en modo booleano)
Cambiarlo a lenguaje natural (ligeramente mejores búsquedas) es tan facil como cambiar "IN BOOLEAN MODE" a "IN NATURAL LANGUAGE MODE" en un archivo. Lamentablemente, el "lenguaje natural" tiene algunas contrapartidas y es que con un número bajo de anuncios no devuelve ningún resultado, de ahí que usemos el booleano por defecto (natural mode obviaría "el/la/de/.....")

FULLTEXT permite carácteres utf8 (chino,japonés,.. no solo a-z0-9) además de operadores como +/-/</> ... mejor explicado en http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html



Saludos

blittcer

  • Newbie
  • *
  • Posts: 35
  • Trabajando en el proyecto www.monoanuncios.es
    • MONOANUNCIOS.es
Re: motor de busqueda osclass
« Reply #2 on: February 20, 2012, 05:36:16 pm »
acabo de probar a poner IN NATURAL LANGUAGE MODE en el item_prosesing.php de oc-admin/ajax y en el search.php de la carpeta raíz, y no me genera ninguna búsqueda, tengo un artículo Porsche 911 420cv turbo y ni poniendo el título entero lo encuentra, :S que demonios? esto a que es debido xk no le encuentro explicación alguna.

Por otra parte estuve leyendo un poco en la web de MySQL y existe un “Full-Text Stopwords”. buscando en el osclass encontré varias referencias al lenguaje de las stopwords pero no se si está bien configurado o se configurado por defecto? si tengo español, porque a la hora de buscar no son las mismas stopwords en ingles que en español y claramente en mi caso necesito que sean las de español.

Aunque realmente a mi lo único que me interesa creo que es añadir unas stopwords en español tales como "y" "no" "de" y quitar la barra "/", por otra parte yo no veo que con fulltext boolean coja los signos y todo eso lo he probado, las pruebas que he hecho me han demostrado lo que puse en el anterior post... pero no me importa demasiado que omita eso lo realmente importante es que quite "/" porque se ve feisimo cuando lo pones y poder omitir las palabras mas comunes por lo tanto creo que eso es cuestión del fulltext-stopwords, no de si es BOOLEAN O NATURAL LANGUAGE...

Bueno espero haberme explicado bien _CONEJO, me estás siendo de gran ayuda, siento hacer tantas preguntas pero me imagino que si se resuelven ya quedarán aquí para el resto de personas... Y así de paso le doy un poco más de vida a este foro, que parece que estamos tu y yo solos jeje...
« Last Edit: February 20, 2012, 05:38:48 pm by blittcer »
Trabajando en el proyecto www.monoanuncios.es

Antonio

  • Newbie
  • *
  • Posts: 22
    • segunda mano
Re: motor de busqueda osclass
« Reply #3 on: February 20, 2012, 05:41:33 pm »
Bueno espero haberme explicado bien _CONEJO, me estás siendo de gran ayuda, siento hacer tantas preguntas pero me imagino que si se resuelven ya quedarán aquí para el resto de personas... Y así de paso le doy un poco más de vida a este foro, que parece que estamos tu y yo solos jeje...

Solo parece  ;)

blittcer

  • Newbie
  • *
  • Posts: 35
  • Trabajando en el proyecto www.monoanuncios.es
    • MONOANUNCIOS.es
Re: motor de busqueda osclass
« Reply #4 on: February 20, 2012, 05:44:26 pm »
Y para confirmar que no funcionaba cree 10 anuncios con le nombre de porsche y tambien busque porsche y no devolvía ninguna busqueda conclusion natural language mode está fallando no se porque :S o es que es necesario que hayan 100porsches para que devuelva una búsqueda :S
Trabajando en el proyecto www.monoanuncios.es

_CONEJO

  • Administrator
  • Hero Member
  • *****
  • Posts: 1919
Re: motor de busqueda osclass
« Reply #5 on: February 20, 2012, 05:52:24 pm »
Hola blittcer,


El problema de "NATURAL LANGUAGE" es que va por un cociente de probabilidad de las palabras en la aparición del texto, con lo que con pocos anuncios no aparece nada. Poco antes del final lo explica (aqui : http://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html ) :
Quote
The 50% threshold has a significant implication when you first try full-text searching to see how it works: If you create a table and insert only one or two rows of text into it, every word in the text occurs in at least 50% of the rows. As a result, no search returns any results. Be sure to insert at least three rows, and preferably many more. Users who need to bypass the 50% limitation can use the boolean search mode; see Section 11.9.2, “Boolean Full-Text Searches”.

Full text comprueba cada palabra, si aparece en más del 50% de los registros de la tabla (en este caso anuncios), no devolverá nada ya que la considera una palabra común. Repito, CADA palabra, por separado. Para buscar por toda la cadena, tendrías que entrecomillarla.


Hay algo que no entiendo muy bien y es el problema con "/" ... qué problema hay con eso? Puedes explicarte un poco mejor?


Como tal, IN BOOLEAN MODE, debería aceptar operadores. De todas formas, en ambos casos,los resultados son el resultado de un algoritmo de búsqueda que "pondera" la relevancia de cada término, número de apariciones en el texto, etc etc



blittcer

  • Newbie
  • *
  • Posts: 35
  • Trabajando en el proyecto www.monoanuncios.es
    • MONOANUNCIOS.es
Re: motor de busqueda osclass
« Reply #6 on: February 20, 2012, 06:21:09 pm »
por ejemplo tengo un BMW Serie 3 330d E90 -06 en anuncios de coches... vale pues pongo buscar bmw y no sale nada otra movida que encontré, que creo que es porque es de 3 caracteres, en cambio pongo bmw serie y si sale, bueno vale hasta ahí llegamos, pues si pongo bmw serie / ok y no pasa nada... vuelve a salir el BMW Serie 3 330d E90 -06,

Pero dentro del anuncio de bmw tenemos esto:

•Único propietario •Siempre en garaje •Indicador temperatura exterior, Columna dirección aj manual. alt. y long, Volante multifuncional, Cambio automático 6 velocidades., Indicador presión neumáticos, Servotronic, Paquete aerodinámico M., Ctrl. Dinámico de la Frenada (DBC), Reposabrazos delantero, C...


Pues hacemos la busqueda propietario / y nos aparece nuestro BMW nuevamente pero con este texto:

•Único propietario</strong> •Siempre en garaje •Indicador temperatura exterior, Columna dirección aj manual. alt. y long, Volante multifuncional, Cambio automático 6 velocidades., Indicador presión neumáticos, Servotronic, Paquete aerodinámico M., Ctrl. Dinámico de la Frenada (DBC), Reposabrazos delantero, C...


como se puede observar aparece </strong> y todo el resto en negrita...
Trabajando en el proyecto www.monoanuncios.es

_CONEJO

  • Administrator
  • Hero Member
  • *****
  • Posts: 1919
Re: motor de busqueda osclass
« Reply #7 on: February 20, 2012, 06:27:23 pm »
y por qué usas el "/"??

No es ningún operador : http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

blittcer

  • Newbie
  • *
  • Posts: 35
  • Trabajando en el proyecto www.monoanuncios.es
    • MONOANUNCIOS.es
Re: motor de busqueda osclass
« Reply #8 on: February 20, 2012, 07:08:39 pm »
no es porque lo use yo... es que hay que tenerlo en cuenta como excepción, yo estoy probando el peor de los casos que un usuario medio loco se le ocurriese poner eso, no debería salir nada jejeje, está claro que no tiene sentido usar eso por eso mismo quiero que no ocurra nada cuando alguien lo utilice.
Trabajando en el proyecto www.monoanuncios.es