On Thu, Jun 16, 2016 at 2:21 PM, Liza Sazonova <l...@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. https://www.postgresql.org/docs/9.6/static/functions-textsearch.html#TEXTSEARCH-FUNCTIONS-TABLE tsvector_to_array(input) -> unnest intersect tsvector_to_array(keywords) -> unnest David J.