sphinx delta

darkover
Posts: 1518
Joined: Sat Apr 13, 2013 8:59 pm

sphinx delta

Post by darkover »

Привет! Чет я видать не то делаю, ошибки у меня типа:
ERROR: section 'delta' (type='source') already exists - доменов много, если один такой конфиг оставляю - делает, если два - уже на втором ошибка на неуник индекс delta

Code: Select all

source domaincom
{
 //skip//    
}

index domaincom_index_scj

{
    source                      = domaincom
    path                        = /sphinx/scj_index
 //skip//    
}

source delta : domaincom
{
     //skip//    
}

index delta : domaincom_index_scj
{
	        source = delta
	        path = /sphinx/scj_index_delta
}
В wiki нифига не понятно, по всей видимости delta - должно быть уникально
admin
Site Admin
Posts: 37247
Joined: Wed Sep 10, 2008 11:43 am

Re: sphinx delta

Post by admin »

имя индекса должно быть уникальным
index domaincom_index_scj
это у вас уникально
index delta
а тутв идимо одно и то же
Don't forget to run script update
darkover
Posts: 1518
Joined: Sat Apr 13, 2013 8:59 pm

Re: sphinx delta

Post by darkover »

admin wrote: Mon Jun 21, 2021 3:41 am имя индекса должно быть уникальным
index domaincom_index_scj
это у вас уникально
index delta
а тутв идимо одно и то же
Эм, что бы не путаться как-то так ?

Code: Select all

source domaincom_delta : domaincom
{
     //skip//    
}

index domaincom_index_delta : domaincom_index_scj
{
	        source = domaincom_delta
	        path = /sphinx/scj_index_delta
}
admin
Site Admin
Posts: 37247
Joined: Wed Sep 10, 2008 11:43 am

Re: sphinx delta

Post by admin »

да
Don't forget to run script update
darkover
Posts: 1518
Joined: Sat Apr 13, 2013 8:59 pm

Re: sphinx delta

Post by darkover »

Хе, сделал. Проверил. В дельту пишутся новые записи при добавлении галерей.
но вот merge делать не хочет
indexer --rotate --merge domaincom_index_scj domaincom_index_delta
FATAL: failed to merge index 'domaincom_index_delta' into index 'domaincom_index_scj': fulltext fields count mismatch (me=/sphinx/scj_index, in=/sphinx/scj_index_delta, myfields=6, infields=4)
admin
Site Admin
Posts: 37247
Joined: Wed Sep 10, 2008 11:43 am

Re: sphinx delta

Post by admin »

Don't forget to run script update
darkover
Posts: 1518
Joined: Sat Apr 13, 2013 8:59 pm

Re: sphinx delta

Post by darkover »

admin wrote: Mon Jun 21, 2021 2:55 pm https://sphinxsearch.com/forum/view.html?id=12384

та же мысль
Неа, не фурычит слияние
indexer --rotate domaincom_index_scj
запуск грабера
indexer --rotate domaincom_index_delta
в него записались данные новые

Code: Select all

merging index 'domaincom_index_delta' into index 'domaincom_index_scj'...
read 0.4 of 0.4 MB, 100.0% done
FATAL: failed to merge index 'domaincom_index_delta' into index 'domaincom_index_scj': fulltext fields count mismatch (me=//sphinx/scj_index, in=//sphinx/scj_index_delta, myfields=6, infields=4)
может что-то с запросами не так ? В дельте запрос меньше

Code: Select all

source domaincom
{
    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_pre               = UPDATE rot_settings SET value = (SELECT MAX(gallery_id) FROM rot_gallery_info) WHERE name = 'sphinx_max_gallery_id'
    sql_query                   = SELECT gi.gallery_id, UNIX_TIMESTAMP(gi.activation_date) as date, \
    gd.alt, gd.description, gi.duration, gi.sponsor_id, gs.total_ctr, gi.content_type, rot_sponsors.sponsor_name, rot_sponsors.sponsor_site,\
    (SELECT group_concat(tag_id) FROM rot_gal2tag g2t                               \
    WHERE g2t.gallery_id = gi.gallery_id) as tag_ids,                               \
    (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(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_sponsors on rot_sponsors.sponsor_id = gi.sponsor_id                    \
    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 tag_ids from field;
    sql_attr_multi 		    = uint categories from field;
	
}
index domaincom_index_scj

{
    source                      = domaincom
    path                        = /sphinx/scj_index
    docinfo                     = extern
    morphology                  = stem_en # or stem_ru for example
    min_word_len                = 3 
    min_infix_len               = 2

}


source domaincom_delta : domaincom
{
    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(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 = 'sphinx_max_gallery_id' ) \
							AND gallery_status = 'active' and gallery_type = 0 \
							and gs.best_thumb = 'yes' and gs.group_id = 0
    
}


index domaincom_index_delta : domaincom_index_scj
{
	        source = domaincom_delta
	        path = /sphinx/scj_index_delta
	
}
admin
Site Admin
Posts: 37247
Joined: Wed Sep 10, 2008 11:43 am

Re: sphinx delta

Post by admin »

не совпадают запросы, где-то элементрная ошибка конфига
как не сложно заметить тут только сфинкс и смарт никаким боком, надо смотреть именно конфиг сфинкса

админ смотрел?
Don't forget to run script update
darkover
Posts: 1518
Joined: Sat Apr 13, 2013 8:59 pm

Re: sphinx delta

Post by darkover »

admin wrote: Mon Jun 21, 2021 3:24 pm не совпадают запросы, где-то элементрная ошибка конфига
как не сложно заметить тут только сфинкс и смарт никаким боком, надо смотреть именно конфиг сфинкса

админ смотрел?
Я же не с потолка взял, а с wiki :)
вот запросы для построения индекса :
sql_query = SELECT gi.gallery_id, UNIX_TIMESTAMP(gi.activation_date) as date, \ etc
а вижу, что в delta - с вики, например rot_sponsors - в выборке не участвует. По мне так это как раз -1 поле, которого не хватает.
admin
Site Admin
Posts: 37247
Joined: Wed Sep 10, 2008 11:43 am

Re: sphinx delta

Post by admin »

запросы должны совпадать
запрос может быть по-разному построен, и пример, с описанием, делает прямо в настроках скрипта , там где вписывается скрипт

те рещение вопроса - сделать что б запросы совпадали
Don't forget to run script update
Post Reply