Postgres: взвешивание результатов полнотекстового поиска по порядку слов - PullRequest
1 голос
/ 14 февраля 2012

Есть ли способ учесть порядок слов при выполнении полнотекстового поиска в postgres?Другими словами, есть ли способ ранжировать результат выше, чем другие результаты, если порядок работы аналогичен?

Например, если в полнотекстовом столбце есть строка "See Jane Run" в одном ряду и "Run See Jane" в другом ряду, и выполняется поиск "Hey See Jane Run Fast" , в настоящее время postgres оценивает их одинаково.Как выполнить запрос для расстановки приоритетов на основе порядка слов?

Я пробовал plainto_tsquery, и он, похоже, не возвращает результатов, если все слова не совпадают в строке, что тоже не то, что мне нужно.Таким образом, использование plainto_tsquery для поиска «Эй, смотри, Джейн, беги быстро» не даст результатов, потому что слова Hey и Fast отсутствуют в полях.

1 Ответ

0 голосов
/ 15 февраля 2012

После некоторого копания выясняется, что сопоставление фраз немного выходит за рамки возможностей полнотекстовой СУБД.Мое решение состояло в том, чтобы реализовать lucene, который может выполнять сопоставление фраз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...