InnoDB FULLTEXT

S_Flash
Posts: 1788
Joined: Mon Mar 08, 2010 9:04 am
Contact:

InnoDB FULLTEXT

Post by S_Flash »

1) Тут написано: http://smartcj.com/wiki/doku.php?id=ru:installation
Но есть компромисный вариант: FullText Search для Mysql (последний из пунктов опции Search fields). Его смысл в том, что Mysql так же умеет искать учитывая морфологию, однако до версии 5.6 он это делал только для таблиц MyISAM.
2) Тут вроде не опровергается, что можно и для InnoDB: https://dev.mysql.com/doc/refman/5.6/en ... index.html

3) По привычке сделал ... rot_gallery_data1 engine = InnoDB; а затем
ALTER TABLE `rot_gallery_data1` ADD FULLTEXT (`alt`, `description`);
Вроде прошло без ошибки и в SCJ скрипте таблица так и отображается как InnoDB !

Вопрос: В вики устаревшая инфа насчёт MyISAM?
Как проверить может ли InnoDB работать с FULLTEXT? Ибо я не совсем на ты в MySQL Sertver 5.7.xx !
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: InnoDB FULLTEXT

Post by admin »

Вероятно я что-то не понял но вроде так и написано что до 5.6 иннодб не поддерживался, те для 5.6 уже можно и в нем...
Don't forget to run script update
S_Flash
Posts: 1788
Joined: Mon Mar 08, 2010 9:04 am
Contact:

Re: InnoDB FULLTEXT

Post by S_Flash »

А какие поля ещё можно запихнуть в поиск (`alt`, `description`) ?
Сразу корнкретнее, как мне добавить сюда поиск по тегам?
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: InnoDB FULLTEXT

Post by admin »

Таги не надо - их ищет по ИД, зачем в тагах морфология?
Don't forget to run script update
S_Flash
Posts: 1788
Joined: Mon Mar 08, 2010 9:04 am
Contact:

Re: InnoDB FULLTEXT

Post by S_Flash »

(c) SmartCJ Pro V 2.1 Your Build 201901181318 (Current build: 201901181318 )
Почему после переключения на Fulltext MySQL поиск, перестаёт искать по тагам (/?tag=mature) - тумб 0 в резултатах по самым популярным тагам из списка в ротации? Переключаю обратьно на Alt+Dest таги начинапют работать, тумбы выводятся..
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: InnoDB FULLTEXT

Post by admin »

а поле в базе переключено как написано в вики?
Don't forget to run script update
S_Flash
Posts: 1788
Joined: Mon Mar 08, 2010 9:04 am
Contact:

Re: InnoDB FULLTEXT

Post by S_Flash »

Я пробовал переключить без индексирования как текст, и скрипт возвращал поле обратно. Думаю оно переключилось, так как скрипт переключился в настройках на это поле.
Вот, я повторно пробую пересоздать индексы:

Code: Select all

mysql> ALTER TABLE `rot_gallery_data1` ADD FULLTEXT (`alt`,`description`);
Query OK, 0 rows affected (0.30 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> describe rot_gallery_data1;
+--------------+------------------+------+-----+---------+-------+
| Field        | Type             | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+-------+
| gallery_id   | int(10) unsigned | NO   | PRI | NULL    |       |
| alt          | varchar(255)     | NO   | MUL | NULL    |       |
| description  | text             | NO   |     | NULL    |       |
| custom_var1  | varchar(255)     | NO   |     | NULL    |       |
| custom_var2  | varchar(255)     | NO   |     | NULL    |       |
| custom_var3  | varchar(255)     | NO   |     | NULL    |       |
| gallery_slug | varchar(255)     | NO   | MUL | NULL    |       |
+--------------+------------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
но не знаю как проверить однозначно, что поля стали FULLTEXT. Если подскажешь какую-то команду, которая точно позволит убедиться, что поля проиндексировались FULLTEX, то приведу пример сюда.

Но ведь, такги работают по другому принципу, они же не используют поиск в явном виде.. Или не?
Самое неприятное, что переключение с FULLTEXT в ТЦМС решает проблему но не решает проблему поиска..
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: InnoDB FULLTEXT

Post by admin »

Подскажите плз вот вы говорите что "Я пробовал переключить без индексирования как текст, и скрипт возвращал поле обратно." и при этом спрашиваете как проверить что переключение прошло.

А как вы проверяли и видели что скрипт меняет назад?
Don't forget to run script update
S_Flash
Posts: 1788
Joined: Mon Mar 08, 2010 9:04 am
Contact:

Re: InnoDB FULLTEXT

Post by S_Flash »

Технически клиентская часть сайта работала нормально (тест шаблонов проще делать без "лишних" настроек типа Сфинкса и Кеширования). Я проверил, что облака тегов создаются, поисковые запросы логируются и выводдятся. После проверил, что поиск срабатывает с настройкой Alt+Desc, теги тоже дают результат и интерфейс различает в пагинауции теги от поисковых запросов. Ставлю галочку, что всё работает. Добавил кеширование, перепроверил работоспособность - всё ок.
По факту в настройкамх Alt+Desc. Я попробовал сперва переключить на FULLTEXT, нажал Save, скрипт обновил страницу и поле перескочило вроде как обратено на Alt+Desk. Я сильно не вникал, так как знал уже из вики, что нужны полнотекстовые индексы. Я проверяю версию mysql Ver 14.14 Distrib 5.7.24б. Захожу в базу и ввожу

Code: Select all

ALTER TABLE `rot_gallery_data1` ADD FULLTEXT (`alt`,`description`);
Затем иду обратно в админку и уже переключаю на FULLTEXT в настройках поиска. Тестирую поиск со стороны сайта - всё ок. Но тут замеаю, что при клике на таг пустой вывод шаблона. Я пробую без реврайтов, то же самое. Переключаю обратно в настройках Alt+Description таги начали работать. Как-то так.
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: InnoDB FULLTEXT

Post by admin »

Из данного описания я так и не понял где скрипт самостоятельно что-то менял назад ..

Но скидывайте админку и где что как проверять что б увидеть какой конкретно урл где как не работает
Don't forget to run script update
Post Reply