Какие факторы используются для определения порядка отображения при использовании опции «Сортировка по релевантности» при поиске в Magento Connect?

15

Я хочу понять логику или алгоритм, лежащий в основе функции поиска в Magento Connect, когда для параметра «Сортировать по» в поиске «Уточненный» задана сортировка по Relavence

Пратик Бхатт
источник
Вы имеете в виду сайт Magento Connect?
SR_Magento
Да @ sr_magento
Пратик Бхатт

Ответы:

6

Я бы предположил, что поиск реализован с использованием индекса MySQL FULLTEXT.

Вот цитата из официальной документации MySQL относительно того, как работает этот индекс:

Возвращенные строки автоматически сортируются с наибольшей релевантностью. Значения релевантности являются неотрицательными числами с плавающей точкой. Нулевая релевантность означает отсутствие сходства. Релевантность вычисляется на основе количества слов в строке, количества уникальных слов в этой строке, общего количества слов в коллекции и количества документов (строк), которые содержат конкретное слово.

В качестве доказательства этого вы можете попытаться выполнить поиск на веб-сайте Magento Connect, используя следующие условия поиска:

  1. ползунок
  2. порядок
  3. SEO

Для первого семестра первыми результатами являются модули с названиями:

  1. I-Slider - Баннер-слайдер
  2. Продукт Slider Pro | Несколько слайдеров | Отзывчивый слайдер

Для второго:

  1. Order - напоминание о заказе

Для последнего:

  1. SEO - Расширенный SEO Suite

Как вы можете видеть, во всех случаях первые элементы имеют более одного вхождения поискового термина в заголовке, поэтому их релевантность выше.

Похоже, именно так работает поиск в Magento Connect.

alex_b
источник
Неплохая догадка, Алекс. Хотя я предполагаю, что предполагается, что connect построен поверх того же базового стека, что и Magento, что может быть не так. Надеясь @BenMarks курантов в
Bryan 'BJ' Hoffpauir Jr.
3

Хотя Magento.com построен на Drupal, Magento Connect, похоже, использует сам Magento, по крайней мере, в качестве основы.

Доказательства:

  • поисковый URL magento-connect/catalogsearch/result/?q=TERM
  • используемые файлы JavaScript:

    JS / Varien / form.js

  • пути к файлам CSS, таким как http://www.magentocommerce.com/magento-connect/skin/frontend/enterprise/connect/css/base.css с лицензионным заголовком, содержащим:

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

Получив эту информацию, мы можем согласиться с тем, что поиск работает так же, как в Magento Enterprise. Теперь есть несколько возможностей:

  • MySQL LIKE поиск
  • MySQL FULLTEXT поиск
  • MySQL комбинированный поиск
  • Solr

Как вы можете видеть, если вы ищете произвольные комбинации поисковых терминов, это не LIKEпоиск по умолчанию, ORкоторый все ненавидят. Таким образом, либо полнотекстовый поиск, который упорядочен по релевантности по умолчанию, как предложено @alex_b, либо поиск Solr модуля Enterprise_Search, для которого мне, вероятно, не разрешено раскрывать детали.

Фабиан Шменглер
источник