Java-Oracle模糊搜索

时间:2013-02-27 10:13:10

标签: java sql oracle oracle10g fuzzy-search

我们希望采用更“模糊”的方法:

示例,如果我们输入

旅行天空

RapidInsight

沃尔玛

数据库应该能够检索以下内容:

TravelSky Technology

快速洞察

沃尔玛

这就是谷歌的工作原理。

我已经尝试了很多我自己的逻辑,如regex等。但是什么都没做。

目前在我们的应用程序中,我们正在搜索基于精确加工....但现在我们想要更模糊,如果我在我的数据库中有一些完整的公司名称

对于前。

TravelSky Technology

然后,如果我搜索“旅行天空”,那么它应该返回TravelSky,依此类推。目前我们正在精确加工。

如果需要更多示例,请告诉我。

我在oracle 10g中找到了执行这种搜索的oracle 10g中的CONTAINS。我还在尝试..

2 个答案:

答案 0 :(得分:2)

您没有详细介绍如何使用模糊搜索。对于Oracle Text的替代方案,您可以考虑使用apache Solr(lucene)。它具有全文搜索,分面,聚类,地理空间搜索,并且从我的经验来看是非常可扩展的。如果从前端使用,它也有方便的REST api。

答案 1 :(得分:0)

查看专门针对您的问题设计的 Oracle Text 包。当我已经为Oracle数据库支付了高额美元时,我会毫不犹豫地自己构建这个功能。

http://docs.oracle.com/cd/B10501_01/text.920/a96517/cdefault.htm