Я хочу зрозуміти логіку чи алгоритм функціоналу пошуку в Magento Connect, коли параметр Сортування за вдосконаленням пошуку встановлено для сортування за відновленням
Я хочу зрозуміти логіку чи алгоритм функціоналу пошуку в 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 з ліцензією заголовка, що містить:
* @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. Зараз є кілька можливостей:
Як ви бачите, якщо ви шукаєте довільні комбінації пошукових термінів, це не LIKE
пошук за замовчуванням, OR
який ненавидять усі. Отже, або це пошук у повнотекстовому форматі, який замовляє за релевантністю за замовчуванням, як це запропонував @alex_b, або Solr пошук модуля Enterprise_Search, про який, ймовірно, мені не дозволяється розкривати деталі.