Ver Mensaje Individual
  #14 (permalink)  
Antiguo 28/10/2013, 16:19
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: mejorar consulta sql para buscar cadenas

Creo que el orden de relevancia no es fácil con las búsquedas booleanas, aunque algún ejemplo encontrarás en la página oficial (no lo he probado):
Posted by Sean Cannon on November 12 2008 7:24pm [Delete] [Edit]

Here's a query I use to return relevance-based data while still using boolean mode searches, and using weights for different columns, and even weights for specific results:
Código MySQL:
Ver original
  1. SELECT id,
  2. store,
  3. name,
  4. (((MATCH(name)
  5. AGAINST(?) * 1.2) +
  6. MATCH(description, keywords)
  7. AGAINST (?) +
  8. ((MATCH(creators)
  9. AGAINST (?) * 1.2)) / 3) +
  10. (((store IN ('xfx','w3d')) * .12) * ((store IN ('iv', '3da', 'vp')) * .1))) *
  11. MATCH(description,keywords,requirements,creators,name)
  12. AGAINST(? IN BOOLEAN MODE)
  13. AS sort_rel
  14. FROM prod_text
  15. WHERE MATCH(description,keywords,requirements,creators,name)
  16. AGAINST(? IN BOOLEAN MODE)
  17. AND store != 'pp'
  18. HAVING sort_rel > 0.2
  19. ORDER BY sort_rel DESC
All placeholders (?s) take the search terms entered by the user in this case.

Sé que existen otras posibilidades como indexar con Lucene o con sphinx, pero no sé si ahí encontrarás lo que quieres, aunque por lo que he leído sí hay orden por relevancia:
http://jayant7k.blogspot.com.es/2006...ql-lucene.html

Pero esto se me escapa a mí.

Última edición por gnzsoloyo; 28/10/2013 a las 17:34