Page 1 of 1

Подключение Sphinx

Posted: Mon Dec 12, 2016 9:35 am
by SAS
Начинаю разбираться со сфинксом
SmartCJ Pro V 2.1

Это инструкция к 51 версии http://smartcj.com/wiki/doku.php?id=ru: ... ion_sphinx ?
Вобщем меня интересует пункт
создать каталог scj/sphinx
его нужно создавать?
я так понимаю этот каталог нужно было создать, положить в него индекс.пхп смарта и прописать в настройках сфинкса /path_to_data/scj/sphinx/scj_index ?


для 2 версии смарта пример конфига сфинкса здесь http://smartcj.com/wiki/doku.php?id=ru:tcms_install

вопрос вообщем в этой папке scj/sphinx
ее нужно создавать?
или можно просто в конфиг сфинкса (path = /your_path) подставить путь к индексу из CJ Pages ? и не создавать никаких каталогов?


******
и еще получается вот эта дока http://smartcj.com/wiki/doku.php?id=ru:tcms_install по сфинксу немного устарела? с выходом update_1 http://smartcj.com/wiki/doku.php?id=ru: ... inx_config

т.е. сейчас нужно заменить

Code: Select all

	sql_query				= SELECT gi.gallery_id, UNIX_TIMESTAMP(gi.activation_date) as date, alt, description, gi.duration, sponsor_id, gs.total_ctr, gi.content_type, \
							(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 gallery_status = 'active' and gallery_type = 0 \
							and gs.best_thumb = 'yes' and gs.group_id = 0 AND gs.group_id NOT IN (SELECT group_id FROM rot_groups_data WHERE status != 1)


	sql_attr_timestamp		= date
	sql_attr_uint		    = duration
	sql_attr_uint		    = sponsor_id
	sql_attr_float		    = total_ctr
	sql_attr_uint		    = content_type
    sql_attr_multi 			= uint categories from field; 
    sql_attr_multi 			= uint tag_ids from field;
на

Code: Select all

sql_query				= SELECT gi.gallery_id, UNIX_TIMESTAMP(gi.activation_date) as date, alt, description, gi.duration, sponsor_id, gs.total_ctr, gi.content_type, \
							(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(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 gallery_status = 'active' and gallery_type = 0 \
							and gs.best_thumb = 'yes' and gs.group_id = 0


	sql_attr_timestamp		= date
	sql_attr_uint		    = duration
	sql_attr_uint		    = sponsor_id
	sql_attr_float		    = total_ctr
	sql_attr_uint		    = content_type
	sql_attr_uint			= gallery_id
    sql_attr_multi 			= uint categories from field;
и пример конфига сфинкса примет вид:

Code: Select all

Надо внести изменения в секцию 

searchd
{
	listen      			= your_port:mysql41

основное тут - добавление mysql41, новый вариант для сфинкс слушать по протоколу mysql 

Далее пример для базы

source your_name_source
{
	type					= mysql

	sql_host				= localhost
	sql_user				= 
	sql_pass				=
	sql_db					= 
	sql_port				= 3306	# optional, default is 3306

	sql_query_pre = SET NAMES utf8

sql_query				= SELECT gi.gallery_id, UNIX_TIMESTAMP(gi.activation_date) as date, alt, description, gi.duration, sponsor_id, gs.total_ctr, gi.content_type, \
							(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(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 gallery_status = 'active' and gallery_type = 0 \
							and gs.best_thumb = 'yes' and gs.group_id = 0


	sql_attr_timestamp		= date
	sql_attr_uint		    = duration
	sql_attr_uint		    = sponsor_id
	sql_attr_float		    = total_ctr
	sql_attr_uint		    = content_type
	sql_attr_uint			= gallery_id
    sql_attr_multi 			= uint categories from field; 

}


index your_name_index
{
	source					= your_name_source
	path					= /your_path
	docinfo					= extern
	morphology              = stem_en
	charset_type 			= utf-8

}
верно?

Re: Подключение Sphinx

Posted: Mon Dec 12, 2016 9:39 am
by admin
Эта папка куда сфинкс потожит свою базу
где она будет - не имеет значения

дока http://smartcj.com/wiki/doku.php?id=ru:tcms_install

правильная, поправим вики что б не было в 2х местах одно и тоже.

Re: Подключение Sphinx

Posted: Mon Dec 12, 2016 9:49 am
by SAS
admin wrote:Эта папка куда сфинкс потожит свою базу
где она будет - не имеет значения
ага, значит получается нужно создать папку и положить (скопировать) туда индекс смарта, прописать в конфиге что-то типа:

Code: Select all

path	 = /path_to_data/scj/sphinx/index.php
и возле этого индекс.пхп сфинкс положит свою базу?

Re: Подключение Sphinx

Posted: Mon Dec 12, 2016 10:44 am
by admin
Нет
вам в папку эту ничего копирвоать не надо.
туда положит свои файлы сфинкс.

Re: Подключение Sphinx

Posted: Mon Dec 12, 2016 12:52 pm
by SAS
а понял наверно наконец-то :)

Code: Select all

path = /your_path
здесь просто указываются каталоги

например для общего индекса

Code: Select all

/path_to_data/scj/sphinx/scj_index
для дельты

Code: Select all

/path_to_data/scj/sphinx/delta
для поисковых запросов

Code: Select all

/path_to_data/scj/sphinx/search_queries_index
и т.д.

Re: Подключение Sphinx

Posted: Mon Dec 12, 2016 2:00 pm
by admin
да, верно, и сфинкс там сохранит свои индексы