Je veux comprendre la logique ou l'algorithme derrière la fonctionnalité de recherche dans Magento Connect lorsque l'option Trier par dans Affiner la recherche est définie pour trier par Relavence
search
sorting
magento-connect
Pratik bhatt
la source
la source
Réponses:
Je suppose que la recherche est implémentée à l'aide de l'index MySQL FULLTEXT.
Voici une citation de la documentation officielle de MySQL concernant le fonctionnement de cet index:
Pour preuve, vous pouvez essayer d'effectuer une recherche sur le site Web de Magento Connect en utilisant les termes de recherche suivants:
Pour le premier terme, les premiers résultats sont des modules avec des titres:
Pour le second:
Pour le dernier:
Comme vous pouvez le voir dans tous les cas, les premiers éléments ont plus d'une occurrence de terme de recherche dans le titre, donc leur pertinence est plus élevée.
Il semble que c'est ainsi que fonctionne la recherche Magento Connect.
la source
Alors que Magento.com est construit sur Drupal, Magento Connect semble utiliser Magento lui-même, au moins comme base.
Preuve:
magento-connect/catalogsearch/result/?q=TERM
les fichiers JavaScript utilisés:
des chemins vers des fichiers CSS tels que http://www.magentocommerce.com/magento-connect/skin/frontend/enterprise/connect/css/base.css avec licence l'en-tête contenant:
Avec ces informations, nous pouvons convenir que la recherche fonctionne de la même manière que dans Magento Enterprise. Il existe maintenant plusieurs possibilités:
Comme vous pouvez le voir si vous recherchez des combinaisons de termes de recherche arbitraires, ce n'est pas la
LIKE
recherche par défaut avecOR
laquelle tout le monde déteste. Donc, c'est soit la recherche en texte intégral qui commande par pertinence par défaut, comme suggéré par @alex_b ou la recherche Solr du module Enterprise_Search, pour laquelle je ne suis probablement pas autorisé à divulguer les détails.la source