Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Ordenar por orden de relevancia (http://www.forosdelweb.com/f86/ordenar-por-orden-relevancia-582993/)

StReO 05/05/2008 08:00

Ordenar por orden de relevancia
 
Tengo una duda que llevo tiempo planteándome××
Si realizo una consulta por ejemplo:
SELECT * FROM tabla1 WHERE campo1 likes '%busqueda%';
Como se puede ordenar por relevancia?

gnzsoloyo 05/05/2008 08:54

Re: Ordenar por orden de relevancia
 
¿Estás buscando el algoritmo de Google?

StReO 05/05/2008 11:43

Re: Ordenar por orden de relevancia
 
Jjajajajajajajja no jodas^^, para eso me saldría mas fácil preguntarles a ellos directamente^^
Yo no soy tan brillante como para hacer eso desde luego, tampoco le sabría sacar provexo^^

pensaba que habría alguna solución de sas fáciles pero veo que me metido en un tema complicado^^

gnzsoloyo 05/05/2008 11:50

Re: Ordenar por orden de relevancia
 
..Y si. Piensa que si no tienes un esquema de a qué le llamas relevancia o cómo las categorizas, en principio no es fácil imaginar el algorimo que cumpliría lo que necesitas.
Y aún teniéndolo, no sabes a priori qué consulta va a entrar en el form, por lo que estás hablando de un análisis bastante complejo. Es posible que si pudieses acotar el tipo de búsquedas, y crear alguna tabla de categorizaciones, la cosa se pudiese simplificar, al menos para el uso que buscas darle.

StReO 05/05/2008 15:38

Re: Ordenar por orden de relevancia
 
gnzsoloyo asias por todo^^ la verdad me as aclarado que de vez en cuando hay que bajar de las nubes, aunque por otra parte me estas haciendo darle al coco ^^.
Probare a realizar la búsqueda incluyendo palabras clave.

DBMark 20/05/2008 06:46

Respuesta: Ordenar por orden de relevancia
 
Es posible que necesites usar la funcion FULLTEXT para hacer esto.
No puedo todavia dejar la URL - es dentro de ONLamp DOT com y es un articulo sobre Fulltext - pero dice:
Cita:

There are a few things to note when querying FULLTEXT indices. First, MySQL automatically orders the results by their relevancy rating. Second, queries that are longer than 20 characters will not be sorted.
Es decir, se ordena por relevancia.

Para construir index de FULLTEXT haz:
Cita:

ALTER TABLE blog_table
ADD FULLTEXT (main_title, story_field) ;
Entonces se puede hacer consulta asii :
Cita:

SELECT entryID,main_title, entry
-> FROM blog_table
-> WHERE MATCH (main_title,entry) AGAINST('dinero');
Nota: Desgraciadamente no funciona con INNOdb

gnzsoloyo 20/05/2008 07:26

Respuesta: Ordenar por orden de relevancia
 
Nota, DBMark, que lo que un índice FULLTEXT considera relevancia es la recurrencia de un conjunto de caracteres (segmento de texto) dentro de ciertos campos, mientras lo que plantea StReo es la relevancia temática, o se una abstracción referida al contenido conceptual del texto que se almacena en el campo.
El problema es como generar un ordenamiento por relevancia si no defines a qué le denominas así.
Por dar un ejemplo, si los campos guardan literatura médica, los textos de "diagnóstico por imágenes", "TAC", "queratosis", podrían ser considerados muy relevantes por su recurrencia en el área de la traumatología (muy publicada), y "fascias" y "cadenas musculares" no, a pesar de que son fundamentales en kinesiología, que siendo una especialidad de rehabilitación, no se consideraría relevante dada la poca bibliografía del tema.
Si no defines cuál es le criterio, como dije, la recurrencia de textos no es suficiente para establecer jerarquías de relevancia.

En otras palabras es un problema de diseño conceptual (DER del Modelo Entidad - Relación).

DBMark 20/05/2008 07:35

Respuesta: Ordenar por orden de relevancia
 
Gracias por esta explicacion gnzsoloyo. Ya la veo. Es como has dicho anterior -- estamos buscando el algoritmo de Google!

StReO 27/05/2008 10:56

Respuesta: Ordenar por orden de relevancia
 
Gracias chicos, pero tras unas negociaciones con el equipo técnico de google es, hemos llegado a un acuerdo^^..

nada no me dan el algoritmo^^:neurotico


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.