mSearch2. Одинаковый вес слов из полей с разным приоритетом - неправильный поиск
Настройки веса слов такие: pagetitle:10,introtext:1,article:1,content:1
Пример:
У товара 1 — слово «Тест» — в pagetitle
У товара 2 — слово «Тест» — в content
Делаю тестирование поиска по фразе тест — в результатах у них вес одинаковый = 3
Из-за этого в подсказках на сайте всплывают не те товары, что должны.
Как это исправить?
Пример:
У товара 1 — слово «Тест» — в pagetitle
У товара 2 — слово «Тест» — в content
Делаю тестирование поиска по фразе тест — в результатах у них вес одинаковый = 3
Из-за этого в подсказках на сайте всплывают не те товары, что должны.
Как это исправить?
Комментарии: 18
Поставить разный вес.
=) так он и стоит разный:
pagetitle:10,introtext:1,article:1,content:1
а mSearch2 при индексе делает им одинаковый вес
pagetitle:10,introtext:1,article:1,content:1
а mSearch2 при индексе делает им одинаковый вес
mSearch2 ничего сам не делает. В вызове или в параметрах по умолчанию вес не переопределён?
Тестирую в админке — disk.yandex.ru/i/y4wRWJxLVsM-bg
На фронте поиск так вызываю:
На фронте поиск так вызываю:
{'!mSearchForm' | snippet: [
'tplForm' => 'tpl-search-form',
'element' => 'msProducts',
'includeThumbs' => 'small',
'tpl' => 'tpl-mSearch2.ac',
'pageId' => '10',
]}
Ну это же вызов формы, она ничего не ищет, она запрос передаёт.
а какой вызов ты просил?
я говорю не про саму форму или сам поиск, а то что mSearch2 при составлении индекса неправильно вес слова ставит.
Как я понимаю, входящие слова в pagetitle должны иметь вес = 10, входящие в контент = 1
а по факту у всех = 3
я говорю не про саму форму или сам поиск, а то что mSearch2 при составлении индекса неправильно вес слова ставит.
Как я понимаю, входящие слова в pagetitle должны иметь вес = 10, входящие в контент = 1
а по факту у всех = 3
Вызов mSearch2, там через параметр можно вес переопределить.
Не тут проблема в подсказках.а не в результатах поиска.
То что в подсказках отображается совсем не то что должно
То что в подсказках отображается совсем не то что должно
Всем привет, странно, что данная тема не развивается. Я вижу такую-же картину, как бы не менял приоритет у полей, результат поиска совершенно не корректно работает. Точные совпадения имеют так-же вес как и все, если быть точнее, то везде вес 3. скрин. Если на сайте много товаров, то нужный вы вряд ли найдете.
Недавно была такая проблема на хостинге reg.ru. Получение настройки mse2_index_split_words через getOption возвращало ошибочное регулярное выражение, сейчас работает со следующей настройкой:
#\s|[,.:;!?"\'()}{\\/\#]#u
#\s|[,.:;!?"\'()}{\\/\#]#u
Спасибо за помощь. Но это не решает проблему, а она заключается в том, что вес не корректно рассчитывается. У меня в приоритете стоит pagititle а потом уже aricle и плюс по точному запросу тоже криво выводится. По сути в приоритете должно быть точное совпадение, потом заголовок, потом артикул. а тут все одинаково.
P/S 3 Сергея пытаются решить проблему msearch2)) Ну что решим?)))
P/S 3 Сергея пытаются решить проблему msearch2)) Ну что решим?)))
Вот именно такой эффект и был — у всех вес по 3, даже в админке так показывалось. Посмотрите, что возвращает в консоли следующий код:
print_r($modx->getOption('mse2_index_split_words', null, null));
Для стандартных настроек должно быть:
#\s|[,.:;!?"\'(){}\\/\#]#u
print_r($modx->getOption('mse2_index_split_words', null, null));
Для стандартных настроек должно быть:
#\s|[,.:;!?"\'(){}\\/\#]#u
После изменения настройки нужно переиндексацию делать?
Обязательно
Я заменил, переиндексировал (консоль выдает #\s|[,.:;!?"\'()}{\\/\#]#u) но ни чего не изменилось.
Жаль, что не помогло, больше нечего предложить — пока до этого решения дошли было много времени потрачено
В любом случае, спасибо!
у меня поддержка кончилась, автору не могу написать
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.