Я хочу понять логику или алгоритм, лежащий в основе функции поиска в Magento Connect, когда для параметра «Сортировать по» в поиске «Уточненный» задана сортировка по Relavence
search
sorting
magento-connect
Пратик Бхатт
источник
источник
Ответы:
Я бы предположил, что поиск реализован с использованием индекса MySQL FULLTEXT.
Вот цитата из официальной документации MySQL относительно того, как работает этот индекс:
В качестве доказательства этого вы можете попытаться выполнить поиск на веб-сайте Magento Connect, используя следующие условия поиска:
Для первого семестра первыми результатами являются модули с названиями:
Для второго:
Для последнего:
Как вы можете видеть, во всех случаях первые элементы имеют более одного вхождения поискового термина в заголовке, поэтому их релевантность выше.
Похоже, именно так работает поиск в Magento Connect.
источник
Хотя Magento.com построен на Drupal, Magento Connect, похоже, использует сам Magento, по крайней мере, в качестве основы.
Доказательства:
magento-connect/catalogsearch/result/?q=TERM
используемые файлы JavaScript:
пути к файлам CSS, таким как http://www.magentocommerce.com/magento-connect/skin/frontend/enterprise/connect/css/base.css с лицензионным заголовком, содержащим:
Получив эту информацию, мы можем согласиться с тем, что поиск работает так же, как в Magento Enterprise. Теперь есть несколько возможностей:
Как вы можете видеть, если вы ищете произвольные комбинации поисковых терминов, это не
LIKE
поиск по умолчанию,OR
который все ненавидят. Таким образом, либо полнотекстовый поиск, который упорядочен по релевантности по умолчанию, как предложено @alex_b, либо поиск Solr модуля Enterprise_Search, для которого мне, вероятно, не разрешено раскрывать детали.источник