Ранжирование результатов при переходе с v 3.5.4 на 3.6.0

Обновили 3.5.4 на 3.6.0. Функция ранжирования не изменялась. Результат поиска отличается. Перестроили индексы под 3.6.0 получили третий вариант ранжирования. Перестроили ещё раз - 4 вариант. Ранжирование изменяется как для распределенных, так и для RT индексов.

ну нужны данные и воспроизводимый кейс (конфиг, данные для индексации, запросы, веса в этих запросах), чтобы предметно обсуждать изменилось ли что-то в результате бага, исправления бага или оптимизации работы

Вот например хороший пример репорта metrics changed, в результате расследования которого был создан тикет и исправлены баги при индексации данных и вычисления весов в запросе.

Пока же по вашему предположению не понятно, что и из-за чего изменилось (данные индексируются по другому или веса вычисляются в запросе не так как должны).

Могу посоветовать только обновится на пакеты из dev версии и на этих бинарниках переиндексировать данные и проверить запросы. Если все еще будет не так? то собрать кейс для воспроизведения

данные для индексации я не могу предоставить. но при первом шаге смены версии на 3.6.0 данные и не изменялись, а ранжирование изменилось.

index cmp_world_0 {
path = /var/sphinx/data/cmp_world_0/
type = rt

            rt_field = nameinloc
	rt_field = fullnameinloc
	rt_field = regcodes
            rt_field = nameinrus
            rt_field = nameineng
            rt_field = fullnameinrus
            rt_field = fullnameineng
            rt_field = registeredaddressrus
            rt_field = registeredaddressloc
            rt_field = registeredaddresseng
            rt_field = chiefrus
            rt_field = chiefloc
            rt_field = chiefeng
            rt_field = chiefhistrus
            rt_field = chiefhistloc
            rt_field = chiefhisteng
            rt_field = emails
            rt_field = sites
            rt_field = phones
            rt_field = entid
            rt_field = shnames
            rt_field = shnameshist
            
            rt_field = managerrus
            rt_field = managerloc
            rt_field = managereng
            rt_field = managerhistrus
            rt_field = managerhistloc
            rt_field = managerhisteng
            
            rt_attr_string = guid
            rt_attr_uint = entitytype
            rt_attr_uint = okvedcode
            rt_attr_string = okvedname
            rt_attr_string = okvednameeng
            rt_attr_uint = isacting
            rt_attr_uint = isbranch
            rt_attr_uint = country
            rt_attr_uint = regioncode
            rt_attr_string = regionname
            rt_attr_string = regionnameeng
            rt_attr_string = shareholdersattr

            docinfo = extern

    	mlock = 0

            min_word_len = 1

            charset_table = 0..9, A..Z->a..z, U+00A4, U+00A7, U+00AC, U+005F, U+0040, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, \
            		U+0451->U+0435, U+0407->U+0457, U+0457, U+0406->U+0456, U+0456, U+0404->U+0454, U+0454, U+04D8->U+04D9, U+04D9, U+0492->U+0493, \
            		U+0493, U+049A->U+049B, U+049B, U+04A2->U+04A3, U+04A3, U+04E8->U+04E9, U+04E9, U+04B0->U+04B1, U+04B1, U+04AE->U+04AF, U+04AF, \
            		U+04BA->U+04BB, U+04BB, U+040C->U+045C, U+045C, U+0102->U+0103, U+0103, U+00C2->U+00E2, U+00E2, U+00CE->U+00EE, U+00EE, U+0218->U+0219, \
            		U+0219, U+021A->U+021B, U+021B, U+263A, U+0386->U+03B1, U+0388->U+03B5, U+0389->U+03B7, U+038A->U+03B9, U+038C->U+03BF, U+038E->U+03C5, \
            		U+038F->U+03C9, U+0390->U+03B9, U+03AA->U+03B9, U+03AB->U+03C5, U+03AC->U+03B1, U+03AD->U+03B5, U+03AE->U+03B7, U+03AF->U+03B9, \
            		U+03B0->U+03C5, U+03CA->U+03B9, U+03CB->U+03C5, U+03CC->U+03BF, U+03CD->U+03C5, U+03CE->U+03C9, U+03D0->U+03B2, U+03D1->U+03B8, \
            		U+03D2->U+03C5, U+03D3->U+03C5, U+03D4->U+03C5, U+03D5->U+03C6, U+03D6->U+03C0, U+03D8->U+03D9, U+03DA->U+03DB, U+03DC->U+03DD, \
            		U+03DE->U+03DF, U+03E0->U+03E1, U+03E2->U+03E3, U+03E4->U+03E5, U+03E6->U+03E7, U+03E8->U+03E9, U+03EA->U+03EB, U+03EC->U+03ED, \
            		U+03EE->U+03EF, U+03F0->U+03BA, U+03F1->U+03C1, U+03F2->U+03C3, U+03F4->U+03B8, U+03F5->U+03B5, U+03F6->U+03B5, U+03F7->U+03F8, \
            		U+03F9->U+03C3, U+03FA->U+03FB, U+1F00->U+03B1, U+1F01->U+03B1, U+1F02->U+03B1, U+1F03->U+03B1, U+1F04->U+03B1, U+1F05->U+03B1, \
            		U+1F06->U+03B1, U+1F07->U+03B1, U+1F08->U+03B1, U+1F09->U+03B1, U+1F0A->U+03B1, U+1F0B->U+03B1, U+1F0C->U+03B1, U+1F0D->U+03B1, \
            		U+1F0E->U+03B1, U+1F0F->U+03B1, U+1F10->U+03B5, U+1F11->U+03B5, U+1F12->U+03B5, U+1F13->U+03B5, U+1F14->U+03B5, U+1F15->U+03B5, \
            		U+1F18->U+03B5, U+1F19->U+03B5, U+1F1A->U+03B5, U+1F1B->U+03B5, U+1F1C->U+03B5, U+1F1D->U+03B5, U+1F20->U+03B7, U+1F21->U+03B7, \
            		U+1F22->U+03B7, U+1F23->U+03B7, U+1F24->U+03B7, U+1F25->U+03B7, U+1F26->U+03B7, U+1F27->U+03B7, U+1F28->U+03B7, U+1F29->U+03B7, \
            		U+1F2A->U+03B7, U+1F2B->U+03B7, U+1F2C->U+03B7, U+1F2D->U+03B7, U+1F2E->U+03B7, U+1F2F->U+03B7, U+1F30->U+03B9, U+1F31->U+03B9, \
            		U+1F32->U+03B9, U+1F33->U+03B9, U+1F34->U+03B9, U+1F35->U+03B9, U+1F36->U+03B9, U+1F37->U+03B9, U+1F38->U+03B9, U+1F39->U+03B9, \
            		U+1F3A->U+03B9, U+1F3B->U+03B9, U+1F3C->U+03B9, U+1F3D->U+03B9, U+1F3E->U+03B9, U+1F3F->U+03B9, U+1F40->U+03BF, U+1F41->U+03BF, \
            		U+1F42->U+03BF, U+1F43->U+03BF, U+1F44->U+03BF, U+1F45->U+03BF, U+1F48->U+03BF, U+1F49->U+03BF, U+1F4A->U+03BF, U+1F4B->U+03BF, \
            		U+1F4C->U+03BF, U+1F4D->U+03BF, U+1F50->U+03C5, U+1F51->U+03C5, U+1F52->U+03C5, U+1F53->U+03C5, U+1F54->U+03C5, U+1F55->U+03C5, \
            		U+1F56->U+03C5, U+1F57->U+03C5, U+1F59->U+03C5, U+1F5B->U+03C5, U+1F5D->U+03C5, U+1F5F->U+03C5, U+1F60->U+03C9, U+1F61->U+03C9, \
            		U+1F62->U+03C9, U+1F63->U+03C9, U+1F64->U+03C9, U+1F65->U+03C9, U+1F66->U+03C9, U+1F67->U+03C9, U+1F68->U+03C9, U+1F69->U+03C9, \
            		U+1F6A->U+03C9, U+1F6B->U+03C9, U+1F6C->U+03C9, U+1F6D->U+03C9, U+1F6E->U+03C9, U+1F6F->U+03C9, U+1F70->U+03B1, U+1F71->U+03B1, \
            		U+1F72->U+03B5, U+1F73->U+03B5, U+1F74->U+03B7, U+1F75->U+03B7, U+1F76->U+03B9, U+1F77->U+03B9, U+1F78->U+03BF, U+1F79->U+03BF, \
            		U+1F7A->U+03C5, U+1F7B->U+03C5, U+1F7C->U+03C9, U+1F7D->U+03C9, U+1F80->U+03B1, U+1F81->U+03B1, U+1F82->U+03B1, U+1F83->U+03B1, \
            		U+1F84->U+03B1, U+1F85->U+03B1, U+1F86->U+03B1, U+1F87->U+03B1, U+1F88->U+03B1, U+1F89->U+03B1, U+1F8A->U+03B1, U+1F8B->U+03B1, \
            		U+1F8C->U+03B1, U+1F8D->U+03B1, U+1F8E->U+03B1, U+1F8F->U+03B1, U+1F90->U+03B7, U+1F91->U+03B7, U+1F92->U+03B7, U+1F93->U+03B7, \
            		U+1F94->U+03B7, U+1F95->U+03B7, U+1F96->U+03B7, U+1F97->U+03B7, U+1F98->U+03B7, U+1F99->U+03B7, U+1F9A->U+03B7, U+1F9B->U+03B7, \
            		U+1F9C->U+03B7, U+1F9D->U+03B7, U+1F9E->U+03B7, U+1F9F->U+03B7, U+1FA0->U+03C9, U+1FA1->U+03C9, U+1FA2->U+03C9, U+1FA3->U+03C9, \
            		U+1FA4->U+03C9, U+1FA5->U+03C9, U+1FA6->U+03C9, U+1FA7->U+03C9, U+1FA8->U+03C9, U+1FA9->U+03C9, U+1FAA->U+03C9, U+1FAB->U+03C9, \
            		U+1FAC->U+03C9, U+1FAD->U+03C9, U+1FAE->U+03C9, U+1FAF->U+03C9, U+1FB0->U+03B1, U+1FB1->U+03B1, U+1FB2->U+03B1, U+1FB3->U+03B1, \
            		U+1FB4->U+03B1, U+1FB6->U+03B1, U+1FB7->U+03B1, U+1FB8->U+03B1, U+1FB9->U+03B1, U+1FBA->U+03B1, U+1FBB->U+03B1, U+1FBC->U+03B1, \
            		U+1FC2->U+03B7, U+1FC3->U+03B7, U+1FC4->U+03B7, U+1FC6->U+03B7, U+1FC7->U+03B7, U+1FC8->U+03B5, U+1FC9->U+03B5, U+1FCA->U+03B7, \
            		U+1FCB->U+03B7, U+1FCC->U+03B7, U+1FD0->U+03B9, U+1FD1->U+03B9, U+1FD2->U+03B9, U+1FD3->U+03B9, U+1FD6->U+03B9, U+1FD7->U+03B9, \
            		U+1FD8->U+03B9, U+1FD9->U+03B9, U+1FDA->U+03B9, U+1FDB->U+03B9, U+1FE0->U+03C5, U+1FE1->U+03C5, U+1FE2->U+03C5, U+1FE3->U+03C5, \
            		U+1FE4->U+03C1, U+1FE5->U+03C1, U+1FE6->U+03C5, U+1FE7->U+03C5, U+1FE8->U+03C5, U+1FE9->U+03C5, U+1FEA->U+03C5, U+1FEB->U+03C5, \
            		U+1FEC->U+03C1, U+1FF2->U+03C9, U+1FF3->U+03C9, U+1FF4->U+03C9, U+1FF6->U+03C9, U+1FF7->U+03C9, U+1FF8->U+03BF, U+1FF9->U+03BF, \
            		U+1FFA->U+03C9, U+1FFB->U+03C9, U+1FFC->U+03C9, U+0391..U+03A1->U+03B1..U+03C1, U+03B1..U+03C1, U+03A3..U+03A9->U+03C3..U+03C9, \
            		U+03C3..U+03C9, U+03C2, U+03D9, U+03DB, U+03DD, U+03DF, U+03E1, U+03E3, U+03E5, U+03E7, U+03E9, U+03EB, U+03ED, U+03EF, U+03F3, \
            		U+03F8, U+03FB, U+0100->U+0101, U+0101, U+010C->U+010D, U+010D, U+0112->U+0113, U+0113, U+0122->U+0123, U+0123, U+012A->U+012B, \
            		U+012B, U+0136->U+0137, U+0137,U+013B->U+013C, U+013C, U+0145->U+0146, U+0146, U+0160->U+0161, U+0161, U+016A->U+016B, U+016B, \
            		U+017D->U+017E, U+017E

            stopwords = stopwords.txt

            dict=keywords

            phrase_boundary = U+005E
            phrase_boundary_step = 100
        	index_field_lengths = 1

            expand_keywords = 0

            index_exact_words = 0
    	rt_mem_limit = 2512M
            preopen = 1

}

index cmp_world_1 : cmp_world_0 {
path = /var/sphinx/data/cmp_world_1/
}

index cmp_world_2 : cmp_world_0 {
path = /var/sphinx/data/cmp_world_2/
}

index cmp_world_3 : cmp_world_0 {
path = /var/sphinx/data/cmp_world_3/
}

index cmp_world {
type = distributed
local = cmp_world_0
local = cmp_world_1
local = cmp_world_2
local = cmp_world_3
}

searchd
{
listen = 9910:http
listen = 9314
listen = 9310:mysql41
query_log_format = sphinxql
log = /var/log/sphinx/sphinx_mirror.log
query_log = /var/log/sphinx/sphinx_mirror_querys.log
pid_file = /run/sphinx_mirror/sphinx_mirror.pid
binlog_path = /var/sphinx/binlog_mirror
workers = thread_pool
max_packet_size = 64M
thread_stack = 256K
dist_threads = 4
listen_backlog = 2000
mysql_version_string = 2.3.3-id64-dev (173b0e5)
}

common {
lemmatizer_base = /usr/local/share/

}

запрос:
SELECT id, PACKEDFACTORS() FROM cmp_world WHERE MATCH(’(@* ЖБСК) ') AND country IN(112) LIMIT 0,3 OPTION ranker=expr(‘sum((4lcs+2(min_hit_pos==1)+exact_hit)IF(word_count=1,1,3word_count)*user_weight)*IF(isacting,10,1)*IF(isbranch,1,15)’),field_weights=(chiefrus=3, chiefloc=3, chiefeng=3, chiefhistrus=1, chiefhistloc=1, chiefhisteng=1, managerrus=2, managereng=2, managerloc=2, managerhistrus=1,managerhistloc=1,managerhisteng=1, nameinrus=5, nameineng=5, nameinloc=5, fullnameineng=5, fullnameinrus=5, fullnameinloc=5, registeredaddressrus=1, registeredaddressloc=1, registeredaddresseng=1, regcodes=1, emails=2, sites=2, phones=2), max_query_time=498561, max_matches=3;

было:
| 120076651 | bm25=659, bm25a=0.71184146, field_mask=9, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.25589731, min_idf=0.25589731, max_idf=0.25589731, sum_idf=0.25589731, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.25589731, atc=0.000000), field3=(lcs=1, hit_count=1, word_count=1, tf_idf=0.25589731, min_idf=0.25589731, max_idf=0.25589731, sum_idf=0.25589731, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.25589731, atc=0.000000), word0=(tf=2, idf=0.25589731) |
| 120149085 | bm25=664, bm25a=0.72235352, field_mask=3, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.26299083, min_idf=0.26299083, max_idf=0.26299083, sum_idf=0.26299083, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.26299083, atc=0.000000), field1=(lcs=1, hit_count=1, word_count=1, tf_idf=0.26299083, min_idf=0.26299083, max_idf=0.26299083, sum_idf=0.26299083, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.26299083, atc=0.000000), word0=(tf=2, idf=0.26299083) |
| 120156438 | bm25=659, bm25a=0.71692270, field_mask=3, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.255666, min_idf=0.255666, max_idf=0.255666, sum_idf=0.255666, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.255666, atc=0.000000), field1=(lcs=1, hit_count=1, word_count=1, tf_idf=0.255666, min_idf=0.255666, max_idf=0.255666, sum_idf=0.255666, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.255666, atc=0.000000), word0=(tf=2, idf=0.255666) |
±----------±-----------------------------------------------

стало:
| 120149085 | bm25=704, bm25a=0.77119231, field_mask=3, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.32730412, min_idf=0.32730412, max_idf=0.32730412, sum_idf=0.32730412, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.32730412, atc=0.000000), field1=(lcs=1, hit_count=1, word_count=1, tf_idf=0.32730412, min_idf=0.32730412, max_idf=0.32730412, sum_idf=0.32730412, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.32730412, atc=0.000000), word0=(tf=2, idf=0.32730412) |
| 120076651 | bm25=726, bm25a=0.79952061, field_mask=9, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.36241350, min_idf=0.36241350, max_idf=0.36241350, sum_idf=0.36241350, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.36241350, atc=0.000000), field3=(lcs=1, hit_count=1, word_count=1, tf_idf=0.36241350, min_idf=0.36241350, max_idf=0.36241350, sum_idf=0.36241350, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.36241350, atc=0.000000), word0=(tf=2, idf=0.36241350) |
| 120196766 | bm25=701, bm25a=0.76171780, field_mask=9, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.32242104, min_idf=0.32242104, max_idf=0.32242104, sum_idf=0.32242104, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.32242104, atc=0.000000), field3=(lcs=1, hit_count=1, word_count=1, tf_idf=0.32242104, min_idf=0.32242104, max_idf=0.32242104, sum_idf=0.32242104, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.32242104, atc=0.000000), word0=(tf=2, idf=0.32242104) |

а это после перестроения под 3.6.0 по тем же исходным данным:
| 120156438 | bm25=666, bm25a=0.72220510, field_mask=3, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.26707852, min_idf=0.26707852, max_idf=0.26707852, sum_idf=0.26707852, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.26707852, atc=0.000000), field1=(lcs=1, hit_count=1, word_count=1, tf_idf=0.26707852, min_idf=0.26707852, max_idf=0.26707852, sum_idf=0.26707852, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.26707852, atc=0.000000), word0=(tf=2, idf=0.26707852) |
| 120076651 | bm25=665, bm25a=0.71127719, field_mask=9, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.26556811, min_idf=0.26556811, max_idf=0.26556811, sum_idf=0.26556811, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.26556811, atc=0.000000), field3=(lcs=1, hit_count=1, word_count=1, tf_idf=0.26556811, min_idf=0.26556811, max_idf=0.26556811, sum_idf=0.26556811, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.26556811, atc=0.000000), word0=(tf=2, idf=0.26556811) |
| 120149085 | bm25=665, bm25a=0.71906710, field_mask=3, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.26520076, min_idf=0.26520076, max_idf=0.26520076, sum_idf=0.26520076, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.26520076, atc=0.000000), field1=(lcs=1, hit_count=1, word_count=1, tf_idf=0.26520076, min_idf=0.26520076, max_idf=0.26520076, sum_idf=0.26520076, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.26520076, atc=0.000000), word0=(tf=2, idf=0.26520076) |