powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Postgree 8.3 tsearch2 не работает rank
4 сообщений из 4, страница 1 из 1
Postgree 8.3 tsearch2 не работает rank
    #35498433
Diamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте всем.
Прошу помощи. Имеется база на PostgreeSQL 8.3. При использовании полнотекстового поиска почему-то не работают функции rank и rank_cd

вот пример запроса
SELECT id, objectid, rank(_ftcap, q) AS _rk
FROM obj_video_data, to_tsquery('blade') q
WHERE _ftcap @@ q ORDER BY _rk

результат поиска в общем правильный, т.е. ищет то что нужно, данные правильные.
а вот _rk всегда равен 0.0607927. Соответственно, отсортировать по релевантности результаты поиска я не могу.
значения _ftcap просчитаны и различны для всех записей.

Подскажите, плз, в чем может быть дело и как это справить.
Заранее спасибо.

PS я совершенный новичек в PostgreeSQL, и в базах данный вообще. Просто коллега, который вел эту составляющую проекта, "сменил направление" и я теперь вынужден быстро за него все делать.
...
Рейтинг: 0 / 0
Postgree 8.3 tsearch2 не работает rank
    #35498796
Oleg Bartunov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DiamondЗдравствуйте всем.
Прошу помощи. Имеется база на PostgreeSQL 8.3. При использовании полнотекстового поиска почему-то не работают функции rank и rank_cd

вот пример запроса
SELECT id, objectid, rank(_ftcap, q) AS _rk
FROM obj_video_data, to_tsquery('blade') q
WHERE _ftcap @@ q ORDER BY _rk

результат поиска в общем правильный, т.е. ищет то что нужно, данные правильные.
а вот _rk всегда равен 0.0607927. Соответственно, отсортировать по релевантности результаты поиска я не могу.
значения _ftcap просчитаны и различны для всех записей.

Подскажите, плз, в чем может быть дело и как это справить.
Заранее спасибо.

PS я совершенный новичек в PostgreeSQL, и в базах данный вообще. Просто коллега, который вел эту составляющую проекта, "сменил направление" и я теперь вынужден быстро за него все делать.

Такое бывает, ничего страшного. добавь третий параметр в rank_cd, который добавляет еще нормировку на размер документа.
...
Рейтинг: 0 / 0
Postgree 8.3 tsearch2 не работает rank
    #35499027
Diamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oleg Bartunov
Такое бывает, ничего страшного. добавь третий параметр в rank_cd, который добавляет еще нормировку на размер документа.

забыл добавить, rank_cd всегда 1 возвращает.
и как это ничего страшного. как мне сортировать по релевантности? что это за поиск будет, если при запросе 'terminator' пользователь первой строкой 'terminal' получает?
...
Рейтинг: 0 / 0
Postgree 8.3 tsearch2 не работает rank
    #35499052
Diamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Oleg Bartunov
большое спасибо. сделал вот так
SELECT id, objectid, orignazv, nazvanie, rank_cd(_ftcap, q, 1) AS _rk
FROM obj_video_data, to_tsquery('blade') q
WHERE _ftcap @@ q ORDER BY _rk DESC

т.е. rank_cd(_ftcap, q, 1) добавил третий параметр и все заработало
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Postgree 8.3 tsearch2 не работает rank
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]