Alexander,
we'd be glad to add such function to tsearch2 in case it'd be useful
for many peoples, not just you.
Oleg
On Thu, 14 Aug 2003, Teodor Sigaev wrote:
>
>
> 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...
> >>
> >>
> >>
>
>
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83