Известно, что при использовании SPH_MATCH_ANY сфинкс ищет по всем словам. И так же понятно, что совсем уж о "красивых" результатах в таком случае говорить не стоит, но добиться чего-то более менее вменяемого хочется.
Вопросов у меня будет много. Писать всё сразу не вижу смысла, ибо так мы запутаемся. Пойдём ка лучше по-порядку.
Итак, всем известно, что при поиске по всем словам, сфинкс всё равно более релевантные результаты выдаёт первыми. Т.е. если мы ищем "white car with big black tires" , то первым результатом никак не будет "tra-la-la car tr-la-la", если в базе есть результат "black car with little hood", т.к. второй результат хоть и не релевантен запросу, но совпадений в нём зримо больше.
На сайтах же я наблюдаю обратное. Здесь налицо сортировка результатов по CTR, а не в том порядке как сфинкс выдал айдишники.
Проверял так: брал кокретный запрос, искал в консоли:
Code: Select all
select * from my_index where match ('"white car with big black tires"/1')
- результат вообще разный.
Если же в консоли:
Code: Select all
select * from my_index where match ('"white car with big black tires"/1') order by total_ctr desc;