在oracle数据库中搜索“a”等字符以匹配以下字符:'a','à',''和'ä'

时间:2011-05-26 20:24:54

标签: oracle search internationalization

我有一个包含法语数据的Oracle数据库。

我的用户提到他们希望能够找到数据,无论字符的重音如何,所以请输入以下字词:

  • École可以通过输入 Ecole École
  • 找到
  • Père-Noël可以通过输入 Pere-Noel Père-Noel Père-Noël找到

由于这是一个搜索,将在许多列和具有许多行的表上进行,有许多字符可以使用法语重音,我希望有一种有效的方法来匹配强调的字符与未加重的版本。

Oracle是否为此提供了任何便利,如果没有,可以使用哪些解决方案?

1 个答案:

答案 0 :(得分:3)

查看Oracle全文索引(Oracle Text)的文档 - 基本上,您需要为此创建自己的词法分析器。

创建简单的全文索引:

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

更新:使用auto_lexer也可能是一个选项(因为它支持法语),请参阅 http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/cdatadic.htm#BHCGJHDH