Re: Tsearch2 lexeme position - Mailing list pgsql-general

From Teodor Sigaev
Subject Re: Tsearch2 lexeme position
Date
Msg-id 3F3BA418.5010207@sigaev.ru
Whole thread Raw
In response to Re: Tsearch2 lexeme position  (Alexander Rüegg <arueegg@uni-bielefeld.de>)
List pgsql-general

Alexander Rüegg wrote:
> Thank you for your response.
> We want to know the distance or sequence of words in a set of
> text-entries. So first we try to retrieve the text-entries in which the
> words appear using tsearch indexing. After that we want to calculate the
> positions of the words in each entry, e.g. parsing the index column of
> the retrieved text-entries.
> Maybe there exists a function or an easier/cheaper way to get this
> information (and which considers that the words maybe occur more than
> once).

No, it is not exists. The easiest way is to extract this info from tsvector value.


>
> thanks,
> Alex
>
> Teodor Sigaev wrote:
>
>>
>>
>> Alexander Rüegg wrote:
>>
>>> Hi,
>>>
>>> Is it possible to get all the positions of a lexeme in a result-set of a
>>> query? For example, we have the table
>>>
>>> TEXT                                                   TEXT_IDX
>>> 'TSearch2 is very cool'                                ...
>>>
>>> 'It would be much cooler with lexeme positions'
>>>
>>> Our query is
>>> SELECT text, position FROM thetable WHERE  text_idx @@ 'cool'::tsquery;
>>>                          ^^^^^^^^
>>> The result should be something like:
>>> 'TSearch2 is very cool', 4
>>> 'It would be much cooler with lexeme positions', 5
>>>
>>> If not, is there a function that returns the positions of a lexeme in a
>>> single entry?
>>>
>>
>> You can write such function, but why do you need it? May be there is
>> more simple way to resolve your problem?
>>
>> BTW, lexeme can have more that one position...
>>
>>
>>

--
Teodor Sigaev                                  E-mail: teodor@sigaev.ru


pgsql-general by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: Tsearch2 lexeme position
Next
From: Steve Worsley
Date:
Subject: Re: How to get the total number of rows with a query