Re: Work Around For Simple Oracle interMedia?
От | Holger Marzen |
---|---|
Тема | Re: Work Around For Simple Oracle interMedia? |
Дата | |
Msg-id | Pine.LNX.4.44.0202130645310.16640-100000@bluebell.marzen.de обсуждение исходный текст |
Ответ на | Work Around For Simple Oracle interMedia? ("David Griffiths" <dgriffiths@boats.com>) |
Ответы |
Re: Work Around For Simple Oracle interMedia?
|
Список | 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 по дате отправления: