Look for text in the oracle database for characters like "a" to match the following characters: "a", "à", "â" and "ä",

I have an Oracle database with data in French.

My users noted that they would like to find data regardless of the emphasis on the characters, so words like:

  • École can be found by typing Ecole or École
  • Père-Noël can be found by typing Pere-Noel or Père-Noel or Père-Noël

Since this is a search that will be performed in many columns and in tables with many rows, i.e. there are many characters that can have accents in French, I would like to have an effective way of matching selected characters with an unoccupied version.

Does Oracle provide any means for this, and if not, what solutions are available for this?

+4
source share
1 answer

Check the documentation for Oracle full-text indexes (Oracle Text) - essentially, you will want to create your own lexer for this.

To create a simple full-text index:

create index fulltext_idx on tab(col) indextype is ctxsys.context; 

UPDATE: using autodescription can also be an option (since it supports French), see http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/cdatadic.htm#BHCGJHDH

+3
source

All Articles