Re: Comparing tsvector results - Mailing list pgsql-general

From Liza Sazonova
Subject Re: Comparing tsvector results
Date
Msg-id CAE49Aj6-NBkkhktQry_EcB9vV3YzvGSXfxkrORscxQ4RM9_dWg@mail.gmail.com
Whole thread Raw
In response to Re: Comparing tsvector results  ("David G. Johnston" <david.g.johnston@gmail.com>)
Responses Re: Comparing tsvector results  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-general
Thank you!

It seems like this function's not available in PostgreSQL 9.5 that I'm using 
I'm getting: "ERROR:  function ​tsvector_to_array(unknown) does not exist".

Do you know of any equivalent function in earlier releases?

I was thinking of casting ts_vector into text, and then splitting the text using a delimiter; but this seems like a slow solution and I was wondering if there's anything better.

On Thu, Jun 16, 2016 at 2:38 PM, David G. Johnston <david.g.johnston@gmail.com> wrote:
On Thu, Jun 16, 2016 at 2:21 PM, Liza Sazonova <liza@getpitstop.io> wrote:
Hello,

I'm trying to implement a keyword-based search on my database. 

I have some text input (Say, "The A or B and C with D") and a list of keywords ("B","X","Y"). I want to identify which keywords are present in the text input. I also want to use a thesaurus to process the text input, since the keywords have synonyms (for example, "The A : X"). 

As far as I understand, the only way for me to process text input with a thesaurus would be to use tsvector / tsquery; or at least this is the fastest way. 
Is it possible to retrieve the tsvector from the text input, then retrieve the tsvector from the keyword list, and identify which words are present in both?

 
From its description the tsvector_to_array function sounds like it would be helpful here.

​tsvector_to_array(input) -> unnest
intersect
tsvector_to_array(keywords) -> unnest

​David J.​


pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: Comparing tsvector results
Next
From: "David G. Johnston"
Date:
Subject: Re: Comparing tsvector results