Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Postgree 8.3 tsearch2 не работает rank / 4 сообщений из 4, страница 1 из 1
21.08.2008, 10:32
    #35498433
Diamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Postgree 8.3 tsearch2 не работает rank
Здравствуйте всем.
Прошу помощи. Имеется база на 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
21.08.2008, 12:19
    #35498796
Oleg Bartunov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Postgree 8.3 tsearch2 не работает rank
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
21.08.2008, 13:16
    #35499027
Diamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Postgree 8.3 tsearch2 не работает rank
Oleg Bartunov
Такое бывает, ничего страшного. добавь третий параметр в rank_cd, который добавляет еще нормировку на размер документа.

забыл добавить, rank_cd всегда 1 возвращает.
и как это ничего страшного. как мне сортировать по релевантности? что это за поиск будет, если при запросе 'terminator' пользователь первой строкой 'terminal' получает?
...
Рейтинг: 0 / 0
21.08.2008, 13:22
    #35499052
Diamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Postgree 8.3 tsearch2 не работает rank
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
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Postgree 8.3 tsearch2 не работает rank / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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