Поиск не ищет по трём буквам

InstantCMS 2.X
#1 16 октября 2018 в 18:54
Поиск вообще отвратительно кривой. По какими-то запросам находит по другим тупо ничего не находит, у меня музыкальный сайт вбиваю в поиск название группы ВИА Гра и результат нулевой. Если искать даже по точному совпадению также результат нулевой. Это как-то лечится?
#2 16 октября 2018 в 19:34
"ВИА Гра" в доске не ищет, "Виагра рулит" в доске ищет и в группах. Возможно когда появился форум, пропали Посты
#3 16 октября 2018 в 19:42

Поиск вообще отвратительно кривой.

ХурумБурум
Отвратительно вы называете темы. А поиск нормальный.
Google => Fulltext search mysql 3 letter
#4 18 октября 2018 в 13:30
а еще прикольно поиск работает, когда вводишь

блох

а он выдает в результатах (и выделяет)

блоГ

=) но не критично
#5 7 января 2019 в 00:26

А поиск нормальный.

Fuze
Пожалуй я с вами категорически не соглашусь, так как поиск неадекватный это факт. К примеру есть сайт с фильмами и пользователи постоянно жалуются, фильм не находится если искать через поиск и соответственно пишут добавить этот фильм. Есть фильм "Время" вбиваем в поиски и никаких результатов, а некоторые ищешь одно находишь другое и в итоге получается какая-то неадекватность поиска.

Было бы неплохо добавить в движок поддержку Sphinx
#6 2 февраля 2020 в 22:57

Было бы неплохо добавить в движок поддержку Sphinx

ХурумБурум

Могу предложить добавить не Sphinx, а Manticore, где есть достаточно активная поддержка: https://forum.manticoresearch.com/, да и код открыт + еще нюансы.
Набросал компонент для того, чтобы посмотреть, как это все выглядит. Тут больше на стороне сервера делать придется.
Добавил на GitHub тестовый вариант: https://github.com/Toxu-ru/instantcms-manticore
Если вопросы будут по Manticore, с удовольствием отвечу, или на форуме ихнем. Собственно все достаточно просто.
#7 12 января 2023 в 11:30

А по трем буквам точно ищет корректно? Не может найти по МРТ например

Добавлено спустя 23 часа

При чем ранее до 2.15.2 искало корректно, а в 2.15.2 появился фильтр по релевантности, но перестало искать по трем буквам. 

Есть ли варианты решения?

#8 24 января 2023 в 11:00

Посмотрело еще по другим сайтам. Аналогично. Поиск перестал искать по трем буквам:( Ранее искал корректно.

Можно откатить обратно поиск или в 2.15.2 изменилась сильно логика?

#9 8 февраля 2023 в 11:40

Поиск вообще отвратительно кривой.

ХурумБурум
Отвратительно вы называете темы. А поиск нормальный.
Google => Fulltext search mysql 3 letter
Fuze

Игорь, подскажи пожалуйста, почему в 2.15.2 перестал работать поиск по 3 буквам или надо какие-то доп настройки в компоненте делать? Ранее работал поиск по трем буквам корректно на 2.14.3 и т.д

#10 8 февраля 2023 в 12:56

Тут github.com/instantsoft/icms2/blob/master/system/core/model.php#L889 везде тройки стоят. Если три символа то будет искать что-то хоть и не в полнотекстовом. А вот если в конфигурации мускуля в my.cnf есть параметр ft_min_word_len = 4 или его вообще нет, то всё что менее 4 символов игонорируется. Там его надо перевести в ft_min_word_len = 3.

#11 8 февраля 2023 в 23:56

Тут github.com/instantsoft/icms2/blob/master/system/core/model.php#L889 везде тройки стоят. Если три символа то будет искать что-то хоть и не в полнотекстовом. А вот если в конфигурации мускуля в my.cnf есть параметр ft_min_word_len = 4 или его вообще нет, то всё что менее 4 символов игонорируется. Там его надо перевести в ft_min_word_len = 3.

Loadырь

странно., не могу в исп панели найти такой файл:(

#12 9 февраля 2023 в 08:35

не могу в исп панели найти такой файл

Def

Файл конфигурации mysql может называться иначе.

#13 9 февраля 2023 в 13:43

Откройте файл system/controllers/search/model.php  найдите

/**
     * Флаг поиска по трём символам
     *
     * @var boolean
     */
    protected $three_symbol_search = false;

и замените false на true. Должно помочь.

После обновления если что нужно будет зайти и опять поменять.

#14 9 февраля 2023 в 22:13

Откройте файл system/controllers/search/model.php  найдите

/**
     * Флаг поиска по трём символам
     *
     * @var boolean
     */
    protected $three_symbol_search = false;

и замените false на true. Должно помочь.

После обновления если что нужно будет зайти и опять поменять.

CEH9I

Странно, также не ищет:( При этом еще и поиск перестал искать по релевантности

Добавлено спустя 1 минуту

не могу в исп панели найти такой файл

Def

Файл конфигурации mysql может называться иначе.

Loadырь

А почему в 2.14.3 на этом же сервере может продолжать искать корректно по трем буквам?

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.