Re: How to do phrase search?

From: "Ivan E(dot) Panchenko" <i(dot)panchenko(at)postgrespro(dot)ru>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: How to do phrase search?
Date: 2020-07-11 07:20:40
Message-ID: 362f19a9-c7a7-c439-0117-4ec287dd404e@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

On 10.07.2020 21:22, Anto Aravinth wrote:
> Hello,
>
> I have the following table:
>
> so2, which has following column details:
>
> ​
>
> |id, title, posts, body (tsvector). |
>
> And I created the index on the following:
>
> |"so2_pkey" PRIMARY KEY, btree (id)|
>
> |"body" gin (body)|
>
> ​
>
> And I wanted to query on my tsvector with the string: `Is it possible
> to toggle the visibility of an element`. I tried the following query:
>
If you want phrase search, use the phraseto_tsquery function, like

   phraseto_tsquery( 'Is it possible to toggle the visibility of an
element')

or

   phraseto_tsquery( 'my_ts_config', 'Is it possible to toggle the
visibility of an element')

> ​
>
> |SELECT id, ts_rank(body, keywords) AS rank|
>
> |FROM so2,|
>
> |to_tsquery('Is & it & possible & to & toggle & the & visibility & of
> & an & element')|
>
> |keywords|
>
> |WHERE keywords @@ body ORDER BY rank DESC;|
>
> ​
>
> This give the result in which the "element" string count is large in
> number, however there is a record which exactly matches the search
> string, that comes as third in my result. So logically it just checked
> in my query which word count occurs the most across my body column,
> which I don't want.
>
> ​
>
> Can I say somehow to postgresql, that I want the pharse search rather
> than the text spilt up weight in the document. Is it possible to do?
>
> Edit: I tried with `|ts_rank_cd\|` as well. Same result.
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Deepika S Gowda 2020-07-11 09:17:27 Re: Issue with timestamp without time zone datatype with default value as now()/localtimestamp
Previous Message Tim Cross 2020-07-11 00:49:22 Re: Issue with timestamp without time zone datatype with default value as now()/localtimestamp