2

我正在使用 Oracle 11g。

我已经尝试过 Oracle Text 功能,到目前为止我很喜欢它。我现在需要支持搜索拼写错误的单词。所以,我发现CONTAINS支持Fuzzy运算符对我来说似乎很合适!

但我想了解更多关于运营商内部发生的事情。它有什么作用?它是否使用编辑距离或 jaro-winkler 距离进行相似度评分?我特别希望使用 jaro-winkler 距离。文档说它仅支持某些语言。我的语言不在列表中。我还能使用Fuzzy操作符,还是它什么都不做(NOP)?

如果我不能使用Fuzzy运算符来解决我的问题,有什么替代方案?我不完全理解NDATA,但我认为它不适用于我的问题。我找到了JARO-WINKLER-SIMILARITY正是我需要的功能,但是如何在搜索中(在CONTAINS功能中)使用它?

4

1 回答 1

2

我对Oracle模糊搜索的理解是他们有自己的“黑匣子”功能来定义两个关键字之间的相似度,用户对这个功能没有太多的控制权。

如果要使用编辑距离实现模糊搜索,可以考虑使用 UDF。这是一个示例(使用 MySQL): http: //flamingo.ics.uci.edu/toolkit/

于 2012-12-09T08:03:30.763 回答