在oracle数据库中搜索类似“a”的字符以匹配以下字符:“a”、“a”、“–”和“ä”

在oracle数据库中搜索类似“a”的字符以匹配以下字符:“a”、“a”、“–”和“ä”,oracle,search,internationalization,Oracle,Search,Internationalization,我有一个Oracle数据库,里面有法语的数据 我的用户提到,他们希望能够找到数据,而不考虑字符上的重音,因此: 埃科尔可以通过键入Ecole或埃科尔找到 Père Noèl可以通过键入Pere Noel或Père Noel或Père Noèl找到 由于这是一个将在许多列和具有许多行的表上进行的搜索,有许多字符可以在法语中有重音,因此我希望有一种有效的方法来匹配重音字符和未加重音的版本 Oracle是否为此提供了任何工具?如果没有,有什么解决方案可供使用?查看有关Oracle全文索引Oracle

我有一个Oracle数据库,里面有法语的数据

我的用户提到,他们希望能够找到数据,而不考虑字符上的重音,因此:

埃科尔可以通过键入Ecole或埃科尔找到 Père Noèl可以通过键入Pere Noel或Père Noel或Père Noèl找到 由于这是一个将在许多列和具有许多行的表上进行的搜索,有许多字符可以在法语中有重音,因此我希望有一种有效的方法来匹配重音字符和未加重音的版本


Oracle是否为此提供了任何工具?如果没有,有什么解决方案可供使用?

查看有关Oracle全文索引Oracle Text的文档-基本上,您需要为此创建自己的lexer

要创建简单的全文索引,请执行以下操作:

create index fulltext_idx on tab(col) indextype is ctxsys.context; 
更新:使用auto_lexer可能也是一个选项,因为它支持法语,请参阅

这是否适用于多个列?在我的查询中,我做了如下操作:从upperFirstName | |'|'的客户中选择*姓| |'|'|像“%ERIC%”这样的地址;您可以使用用户数据存储将多个列甚至多个表组合成一个全文索引-参见。