From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | Liza Sazonova <liza(at)getpitstop(dot)io> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Comparing tsvector results |
Date: | 2016-06-16 18:38:56 |
Message-ID: | CAKFQuwZe=eT4p7LqeqqeT2fcGTGc7FL6H9pAZssSUw8wgUjQDg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Jun 16, 2016 at 2:21 PM, Liza Sazonova <liza(at)getpitstop(dot)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.
From | Date | Subject | |
---|---|---|---|
Next Message | Liza Sazonova | 2016-06-16 18:51:03 | Re: Comparing tsvector results |
Previous Message | Durgamahesh Manne | 2016-06-16 18:28:35 | Re: Re: regarding schema only migration from sqlserver to postgres with runmtk.sh |