Quiero comprender la lógica o el algoritmo detrás de la funcionalidad de búsqueda en Magento Connect cuando la opción Ordenar por en Refinar búsqueda está configurada para ordenar por Relevancia
search
sorting
magento-connect
Pratik Bhatt
fuente
fuente
Respuestas:
Supongo que la búsqueda se implementa utilizando el índice MySQL FULLTEXT.
Aquí hay una cita de la documentación oficial de MySQL sobre cómo funciona ese índice:
Como prueba de ello, puede intentar realizar una búsqueda en el sitio web de Magento Connect utilizando los siguientes términos de búsqueda:
Para el primer término, los primeros resultados son módulos con títulos:
Para el segundo:
Para el último:
Como puede ver en todos los casos, los primeros elementos tienen más de una aparición de término de búsqueda en el título, por lo que su relevancia es mayor.
Parece que así es como funciona la búsqueda de Magento Connect.
fuente
Si bien Magento.com se basa en Drupal, Magento Connect parece estar utilizando Magento, al menos como base.
Evidencia:
magento-connect/catalogsearch/result/?q=TERM
Los archivos JavaScript utilizados:
rutas a archivos CSS como http://www.magentocommerce.com/magento-connect/skin/frontend/enterprise/connect/css/base.css con licencia cuyo encabezado contiene:
Con esta información, podemos estar de acuerdo en que la búsqueda funciona de la misma manera que en Magento Enterprise. Ahora hay varias posibilidades:
Como puede ver si busca combinaciones de términos de búsqueda arbitrarias, no es la
LIKE
búsqueda predeterminada con laOR
que todo el mundo odia. Entonces, es la búsqueda de texto completo la que ordena por relevancia de manera predeterminada, como lo sugiere @alex_b o la búsqueda de Solr del módulo Enterprise_Search, para lo cual probablemente no se me permite revelar detalles.fuente