Re: Work Around For Simple Oracle interMedia? - Mailing list pgsql-general

From Holger Marzen
Subject Re: Work Around For Simple Oracle interMedia?
Date
Msg-id Pine.LNX.4.44.0202130645310.16640-100000@bluebell.marzen.de
Whole thread Raw
In response to Work Around For Simple Oracle interMedia?  ("David Griffiths" <dgriffiths@boats.com>)
Responses Re: Work Around For Simple Oracle interMedia?  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-general
On Tue, 12 Feb 2002, David Griffiths wrote:

> One of our two databases uses context indexes on a column.
>
> If your not familiar, this is part of the Oracle interMedia option. The idea
> here is to be able to search for words within a text block. The text block
> is in a row, in one of the columns. It can also be HTML, a Word document,
> etc. When you index the column, it speeds up finding matching words.

I am afraid you have to convert the documents to raw text or RTF first.

> Once that's done, you can search like this:
>
> SELECT SCORE(1) title FROM news_items
>            WHERE CONTAINS(text, 'Bolivia', 1) > 0;
>
> This would find all rows in the table "news_item" that has the text
> "Bolivia" in the "title" column.

I don't see any problem here. "ILIKE" or "~*" seem to do the job.

> SELECT SCORE(1) title FROM news_items
>            WHERE CONTAINS(text, 'Bolivia OR Peru', 1) > 0;
>
> This would find all rows in the table "news_item" that has the text
> "Bolivia" or "Peru" in the "title" column in any order.
>
> This is the most basic usage of the interMedia (you can get it to do a
> soundex to match a sound, or get a "near" match or fuzzy match rather than
> an exact match, etc.)

For fuzzy match you could write a levenshtein (sp?) function. But then
you have to extract the words from the field. That might get tricky.


pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: Full Text Indexing...
Next
From: Bruce Momjian
Date:
Subject: Re: Work Around For Simple Oracle interMedia?