Показать сообщение отдельно
Старый 21.03.2007, 11:19   #27  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Если показывать как темы, то получается лучше чем при сортировке по дате, но все равно не очень хорошо. Если показывать как сообщения, то искомое сообщение показывается первым, но дальше как-то не логично. По-моему ожидаемый результат: сначала сообщения где в названии темы есть все слова из запроса, потом на одно слово меньше и т.д., а потом сообщемня где все слова из запроса есть в теле сообщения и т.д. Видимо алгоритм поиска считает иначе.
Да, чуть иначе.
Если слова находятся в заголовке темы/сообщения, то найденное получает бонус
Бонус дается за рейтинг темы, за свежесть, за количество ответом и просмотров.
Это ожидаемо.

А вот чего я никак понять не могу, так это почему алгоритм ищет слова не в пределах одного сообщения, а в пределах одной темы (даже если ключевые слова в разных сообщениях одной темы). Именно поэтому поиск по сообщениям дает лучшие результаты.

Не знаю как сделать так, чтобы давался бонус, если присутствуют слова в одном сообщении (не внося модификаций в алгоритм). Не понимаю, почему при поиске по релевантности алгоритм сбрасывает операторы AND в OR. Пока хочу понять как работает стандартный алгоритм.

Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Если улучшить результат невозможно, то по-моему лучше оставить сортировку по дате, но написать что-то типа "Сортировка: Дата последнего сообщения. Чтобы изменить порядок сортировки используйте расширенный поиск". Ну и переименовать Уместность во что-нибудь более понятное не мешало бы, а то сразу и не догадаешься.
Хорошее предложение.
Но погодите пока код модифицировать. Это мы завсегда успеем.
Давайте разберемся в существующем коде.
__________________
полезное на axForum, github, vk, coub.