Quels facteurs sont utilisés pour déterminer l'ordre d'affichage lorsque l'option "Trier par pertinence" est utilisée lors de la recherche dans Magento Connect?

15

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

Pratik bhatt
la source
Voulez-vous dire le site Web Magento Connect?
SR_Magento
Oui @sr_magento
Pratik bhatt

Réponses:

6

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:

Les lignes renvoyées sont automatiquement triées en premier avec la pertinence la plus élevée. Les valeurs de pertinence sont des nombres à virgule flottante non négatifs. Aucune pertinence ne signifie aucune similitude. La pertinence est calculée en fonction du nombre de mots dans la ligne, du nombre de mots uniques dans cette ligne, du nombre total de mots dans la collection et du nombre de documents (lignes) qui contiennent un mot particulier.

Pour preuve, vous pouvez essayer d'effectuer une recherche sur le site Web de Magento Connect en utilisant les termes de recherche suivants:

  1. Glissière
  2. Commande
  3. SEO

Pour le premier terme, les premiers résultats sont des modules avec des titres:

  1. I-Slider - Banner Slider
  2. Product Slider Pro | Curseurs multiples | Curseur réactif

Pour le second:

  1. Commande - Rappel de commande

Pour le dernier:

  1. SEO - Suite SEO avancée

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.

alex_b
la source
Pas une mauvaise supposition, Alex. Bien que je suppose que cela suppose que la connexion est construite au-dessus de la même pile sous-jacente que Magento, ce qui peut ne pas être le cas. Espérant @BenMarks carillons
Bryan 'BJ' Hoffpauir Jr.
3

Alors que Magento.com est construit sur Drupal, Magento Connect semble utiliser Magento lui-même, au moins comme base.

Preuve:

  • l'URL de recherche magento-connect/catalogsearch/result/?q=TERM
  • les fichiers JavaScript utilisés:

    js / varien / form.js

  • 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:

     * @category    design
     * @package     enterprise_connect
     * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
     * @license     http://www.magentocommerce.com/license/enterprise-edition

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:

  • Recherche MySQL LIKE
  • Recherche MySQL FULLTEXT
  • Recherche combinée MySQL
  • Solr

Comme vous pouvez le voir si vous recherchez des combinaisons de termes de recherche arbitraires, ce n'est pas la LIKErecherche par défaut avec ORlaquelle 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.

Fabian Schmengler
la source