Thread: [GENERAL] Full text search with plain input
Hi,
I would like to use PostgreSQL's FTS functionality.
On Friday, May 4, 2018, Havasvölgyi Ottó <havasvolgyi.otto@gmail.com> wrote:
so that it matches (with less rank) even if one of its words match ?
That seems to be what "ts_rank" provides.
David J.
Based on the docs, plainto_tsquery() creates tsquery with the & operator (https://www.postgresql.org/docs/10/static/functions-textsearch.html), so the @@ operator will not find partial matches. And this way I cannot calculate ts_rank for those partial matches.
Now I am thinking about splitting the input text myself to terms, then searching and ranking the documents for each term. Finally summing the scores by document. This way the documents with more matching terms would get greater score.2018-05-05 2:06 GMT+02:00 David G. Johnston <david.g.johnston@gmail.com>:
On Friday, May 4, 2018, Havasvölgyi Ottó <havasvolgyi.otto@gmail.com> wrote:so that it matches (with less rank) even if one of its words match ?That seems to be what "ts_rank" provides.David J.
On Friday, May 4, 2018, Havasvölgyi Ottó <havasvolgyi.otto@gmail.com> wrote:
Now I am thinking about splitting the input text myself to terms, then searching and ranking the documents for each term.
Maybe do: replace(input_text, ' ', ' | ')
David J.
Thank you David, I will do something similar.
2018-05-05 3:12 GMT+02:00 David G. Johnston <david.g.johnston@gmail.com>:
On Friday, May 4, 2018, Havasvölgyi Ottó <havasvolgyi.otto@gmail.com> wrote:Now I am thinking about splitting the input text myself to terms, then searching and ranking the documents for each term.Maybe do: replace(input_text, ' ', ' | ')David J.