ts_sphinx
Sphinx for Rotation\Tube sites
There is a good tool to search within big DBs - Sphinx. This a system to perform a fast search with morphological analysis of search query.
Installation:
- Ask admin to install sphinx itself (this is a separate application)
- create folder scj/sphinx
- Add SmartCJ index to Sphinx (usually you have to ask admin to do it). Config example
source scj { type = mysql sql_host = localhost sql_user = scj_mysql_login sql_pass = scj_mysql_password sql_db = scj_db sql_port = 3306 # optional, default is 3306 sql_query = SELECT id, crc32(g.gallery_md5) as gallery_md5_crc, UNIX_TIMESTAMP(activation_date) as date, tags, alt, description, duration, sponsor_id, rgroup, content_type, gs.total_ctr FROM rot_galleries as g \ JOIN rot_gallery_stats AS gs ON g.id = gs.thumb_id \ JOIN rot_gallery_info AS gi ON g.gallery_md5 = gi.gallery_md5 \ JOIN rot_gallery_data AS gd ON g.gallery_md5 = gd.gallery_md5 \ WHERE status = 1 and gs.best_thumb = 'yes' and rgroup != 0 sql_attr_timestamp = date sql_attr_uint = duration sql_attr_uint = sponsor_id sql_attr_uint = rgroup sql_attr_float = total_ctr sql_attr_uint = content_type sql_attr_uint = gallery_md5_crc sql_query_info = SELECT * FROM rot_galleries WHERE id=$id } index scj_index { source = scj path = /path_to_data/scj/sphinx/scj_index docinfo = extern morphology = stem_en # or stem_ru for example } You have to replace with your data following values scj_mysql_login scj_mysql_password scj_db path_to_data
- Ask admin to run DB indexer
indexer --all --rotate
- Add to scj/includes/config.php following lines
$config["sphinx_port"] = 3312; $config["sphinx_search_index"] = 'scj_index';
That's all.
ts_sphinx.txt · Last modified: 2014/01/29 18:05 by 127.0.0.1