Weird ranking results with ts_rank

Поиск
Список
Период
Сортировка
От Javier Ayres
Тема Weird ranking results with ts_rank
Дата
Msg-id CAC1P-g1YPwVK9ggiRLq=MvGeMp=ciSCsGTnM3L__rWExWTLUdQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: Weird ranking results with ts_rank
Список pgsql-general
Hi everybody. 

I'm implementing a solution that uses PostgreSQL's full text search capabilities and I have come across a particular set of results for ts_rank that don't seem to make sense according to the documentation. I have tried the following queries in PostgreSQL 10, 11 and 12.
In both cases only the word "box" is matching, but adding a non-matching word with OR to the query increases the ranking. If I keep adding more non-matching words with OR the ranking starts to decrease again, but I would imagine that the second option should have the highest score and it would start decreasing from there the more non-matching words I add.
Is there something I'm not understanding?

Thanks.

postgres=# select ts_rank(to_tsvector('search for a text box'), to_tsquery('circle | lot <-> box'));
   ts_rank
-------------
 0.020264236
(1 row)

postgres=# select ts_rank(to_tsvector('search for a text box'), to_tsquery('lot <-> box'));
 ts_rank
---------
   1e-20
(1 row)

--
Javier Ayres
Data Engineer
+1 855 636 5811 - sophilabs.co

В списке pgsql-general по дате отправления:

Предыдущее
От: Ron
Дата:
Сообщение: Query which shows FK child columns?
Следующее
От: Jeff Ross
Дата:
Сообщение: Re: Query which shows FK child columns?