Краткий ответ: актуальность используется только в режиме полнотекстового поиска.
Фон
В интерфейсе администратора вы можете настроить «тип поиска» для Magento.
Этот параметр находится в Система> Конфигурация> Каталог> Поиск по каталогу> Тип поиска
Если переключить на полный текст (и после переиндексации) и очистить таблицу catalogsearch_query
, Magento будет использовать возможность полнотекстового поиска MySQL, задав условие WHERE в запросе следующим образом:
...MATCH (s.data_index) AGAINST (:query IN BOOLEAN MODE) AS `relevance`...
Это вернет число с плавающей запятой, которое будет использоваться в качестве значения релевантности. Простое попадание даст вам релевантность 1. Если индекс содержит поисковый термин более одного раза, ему будет придана более высокая релевантность.
Также логический полнотекстовый поиск позволяет использовать модификаторы поиска, такие как "+ this -notThis".
Дополнительную информацию о значении релевантности булевого полнотекстового поиска MySQL можно найти здесь http://dev.mysql.com/doc/refman/5.1/de/fulltext-boolean.html
Если используется режим поиска «Нравится», релевантность всегда равна 0
(как вы заметили).
Индексация
Способ, которым Magento создает поисковый индекс, не очень интуитивен, я рекомендую взглянуть на таблицу catalogsearch_fulltext
. Затем настройте атрибуты, которые вы хотите использовать в поиске, настроив для них свойство Используется в быстром поиске . Этот параметр можно найти в Каталог> Атрибуты> Управление атрибутами . Затем переиндексируйте индекс поиска по каталогу.
Я также рекомендую очистить таблицу catalogsearch_result
после настройки атрибутов.