ru:installation
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| ru:installation [2018/03/18 16:14] – [Installation] admin | ru:installation [2023/08/25 10:23] (current) – [Installation] admin | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| PS да, два тире в конце обязательны | PS да, два тире в конце обязательны | ||
| - | так же можно указать все параметры прямо в коммандной строке | + | так же можно указать все параметры прямо в командной строке |
| < | < | ||
| Line 17: | Line 17: | ||
| - | Обратите внимание, | + | Обратите внимание, |
| + | |||
| + | Если вы используете ротацию SmartCJ то надо прописать ПУТЬ (не УРЛ !) к scj/ | ||
| + | |||
| + | |||
| ====== Server Requirements ====== | ====== Server Requirements ====== | ||
| Line 27: | Line 31: | ||
| - Любая версия *NIX | - Любая версия *NIX | ||
| - SSH доступ | - SSH доступ | ||
| - | - Mysql DB (название, | + | - Mysql DB 5.7+ (название, |
| - | - IonCube (бесплатный плагин для | + | - PHP 7+ |
| + | - IonCube (бесплатный плагин для | ||
| Line 66: | Line 71: | ||
| RewriteRule ^search/ | RewriteRule ^search/ | ||
| RewriteRule ^search/ | RewriteRule ^search/ | ||
| + | |||
| + | RewriteRule ^report/ | ||
| + | |||
| </ | </ | ||
| Line 80: | Line 88: | ||
| | | ||
| | | ||
| - | location /scj/scj2.lic { | + | location /script_folder_name/scj2.lic { |
| return 404; | return 404; | ||
| } | } | ||
| Line 130: | Line 138: | ||
| - | ===== Search ===== | ||
| - | |||
| - | По дефолту для поиска используется конструкция примерно WHERE description LIKE ' | ||
| - | |||
| - | Search fields | ||
| - | If you don't use Sphinx the script will use Mysql | ||
| - | built-in functionality. It's slower so we limit amount of fields | ||
| - | Please, read the last WIKI about the last option. | ||
| - | |||
| - | |||
| - | По дефолту скрипт ищет по в description, | ||
| - | |||
| - | Лучший вариант - это настройка Sphinx о чем рассказано ниже. | ||
| - | |||
| - | Но есть компромисный вариант: | ||
| - | |||
| - | Итого если вы хотите использовать этот вариант, | ||
| - | |||
| - | < | ||
| - | ALTER TABLE `rot_gallery_data1` ADD FULLTEXT ( | ||
| - | `alt` , | ||
| - | `description` | ||
| - | ) | ||
| - | </ | ||
| - | |||
| - | И переключить в настройках опцию на поиск FullText. | ||
| Line 236: | Line 218: | ||
| - | |||
| - | ===== Sphinx Delta Config ===== | ||
| - | |||
| - | При создании индекса sphinx делает индекс текущего состояния базы и если после индексирования в базе были какие-либо изменения, | ||
| - | |||
| - | Логический вывод из этого: надо проводить реиндексацию после каждого изменения в базе, однако проблема в том, что | ||
| - | |||
| - | Что бы решить эту проблему придумали delta index – это индекс в который попадут измения, | ||
| - | |||
| - | При поиска sphinx будет искать и в основном индексе и в дельта индексе, | ||
| - | |||
| - | |||
| - | Итого : | ||
| - | |||
| - | в основную часть, которая у вас уже есть надо добавить после | ||
| - | |||
| - | sql_query_pre = SET NAMES utf8 | ||
| - | |||
| - | строку | ||
| - | |||
| - | sql_query_pre = UPDATE rot_settings SET value = (SELECT MAX(gallery_id) FROM rot_gallery_info) WHERE name = ' | ||
| - | |||
| - | |||
| - | Теперь надо добавить создание дельта индекса | ||
| - | |||
| - | < | ||
| - | |||
| - | source delta : your_name_source | ||
| - | { | ||
| - | sql_query_pre = SET NAMES utf8 | ||
| - | |||
| - | sql_query = SELECT gi.gallery_id, | ||
| - | (SELECT group_concat(tag_name) FROM rot_gal2tag g2t \ | ||
| - | LEFT JOIN rot_tags as t on t.tag_id = g2t.tag_id \ | ||
| - | WHERE g2t.gallery_id = gi.gallery_id) as tags, \ | ||
| - | (SELECT group_concat(tag_id) FROM rot_gal2tag g2t \ | ||
| - | WHERE g2t.gallery_id = gi.gallery_id) as tag_ids, \ | ||
| - | |||
| - | (SELECT group_concat(name) FROM rot_groups | ||
| - | WHERE rot_groups.id in (SELECT group_id FROM rot_gallery_stats1 WHERE rot_gallery_stats1.gallery_id = gi.gallery_id AND group_id != 0) ) as group_names, | ||
| - | | ||
| - | |||
| - | (SELECT group_concat(gss.group_id) FROM rot_gallery_stats1 as gss \ | ||
| - | WHERE gss.gallery_id = gi.gallery_id AND group_id != 0) as categories \ | ||
| - | FROM rot_gallery_info AS gi \ | ||
| - | JOIN rot_gallery_data1 AS gd ON gi.gallery_id = gd.gallery_id \ | ||
| - | JOIN rot_gallery_stats1 AS gs ON gs.gallery_id = gi.gallery_id \ | ||
| - | WHERE gi.gallery_id > ( SELECT value FROM rot_settings WHERE name = ' | ||
| - | AND gallery_status = ' | ||
| - | and gs.best_thumb = ' | ||
| - | | ||
| - | } | ||
| - | |||
| - | |||
| - | index delta : your_name_index | ||
| - | { | ||
| - | source = delta | ||
| - | path = / | ||
| - | } | ||
| - | |||
| - | |||
| - | </ | ||
| - | |||
| - | |||
| - | Как можно заметить запрос такой же, отличается только наличием в выборке по sphinx_max_gallery_id. | ||
| - | |||
| - | После этого надо доабвить в крон индексацию новых записей так часто, как вам нравится строкой | ||
| - | |||
| - | indexer --rotate delta | ||
| - | |||
| - | После создания индекса надо прописать delta в Sphinx Delta Index настройках ротации. | ||
| - | |||
| - | и раз в сутки например можно присоединять дельта индекс к основному | ||
| - | |||
| - | indexer --rotate --merge your_name_index delta | ||
| - | |||
| - | |||
| - | Все. | ||
ru/installation.1521389660.txt.gz · Last modified: by admin
