mSearch2 - некорректно находит товары

Хотя, конечно же, это я что-то неправильно настраиваю.

Есть мебельный каталог и поиск по нему, реализованный через mSearch2. Поиск производится только по полю pagetitle.

Для примера, в каталоге есть карточки:
  • Набор мягкой мебели «Фантазия»
  • Диван «Фантазия-4»
  • Кресло-кровать «Престиж-17»
  • Кресло «Фантазия»

Вывод товаров организован так:
[[!pdoPage?
      &element=`msProducts`
      &parents=`2`
      &resources=`[[!mSearch2:default=`999999`?returnIds=`1`&limit=`0`&fields=`pagetitle:10`]]`
      &tpl=`tpl.catalog.filter.item`
      &limit=`24`
      &pageLimit=`5`
    ]]

Когда ввожу запрос «кресло», получаю все товары с вхождением слова «кресло» (оно и понятно). Т.е. получаю товары:
  • Кресло-кровать «Престиж-17»
  • Кресло «Фантазия»
Клиент хочет, чтобы при запросе «кресло» выводились только кресла (без кресел-кроватей). Ок, добавляю параметр &onlyIndex=`1`. Получаю только кресла.

Но появляется другая проблема — теперь по запросу «фантазия» выводятся только товары, в которых есть отдельное слово «фантазия». Т.е. получаю только товар Кресло «Фантазия». А нужно чтобы вывелись:
  • Набор мягкой мебели «Фантазия»
  • Диван «Фантазия-4»
  • Кресло «Фантазия»
Помимо этого на запрос «фантазия-4» не выводится вообще ничего. Хотя логично предположить, что мы должны получить Диван «Фантазия-4».

Рабочий пример можно посмотреть здесь.
Александр
29 октября 2018, 12:47
modx.pro
1 083
0

Комментарии: 2

Александр
29 октября 2018, 12:50
0
Не понимаю, что ещё нужно прописать в параметры mSearch2.
Пробовал играть с вариациями onlyAllWords и onlyIndex — безуспешно.
    Александр
    30 октября 2018, 05:04
    0
    Более того, клиенту принципиально, чтобы при запросе «фантазия 4» и «фантазия-4» выводились одинаковые результаты. Как это реализовать, вообще не понимаю.

    Есть мысли у кого-нибудь?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2