一种实现 DB2 数据库的各类查询与全文检索的替代方案
2010-04-16 00:00:00 来源:WEB开发网核心提示: 查看原图(大图)让企业数据库(如 DB2)与 OmniFind 无缝整合如果该企业将其数据库中实时性不强的信息查询与检索让 OmniFind 来实现,数据库只需做那些实时性极强的查询与检索,一种实现 DB2 数据库的各类查询与全文检索的替代方案(2),则数据库的压力将会大减,能够更好完成其核心功
查看原图(大图)
让企业数据库(如 DB2)与 OmniFind 无缝整合
如果该企业将其数据库中实时性不强的信息查询与检索让 OmniFind 来实现,数据库只需做那些实时性极强的查询与检索,则数据库的压力将会大减,能够更好完成其核心功能,则上述问题迎刃而解。
实现思路如下:OmniFind 查询替代数据库查询或全文检索,将需要替代查询的表按表结构,使用 OmniFind JDBC Crawler 爬取到 OmniFind 原始数据库中(此时可以通过 JDBC Crawler Plug-in 对需要进行表连接的表进行连接),这些爬取工作可以在数据库闲暇时进行,如每日临晨 3 点等;爬取完成后,使用 OmniFind parser 对原始数据进行解析,如果要对数据查询使用一些特殊文本分析或实现智能查询等,则可在解析时使用 UIMA 来添加自己的分析器;解析完成后,使用 OmniFind Indexer 进行索引,索引完成后就可以利用 OmniFind 高级查询语法来实现 Sql 查询一样的功能了(如果想用 OmniFind 对一些实时性强的信息进行检索,则可以把这些信息放到另一个集合中,在这个集合的 crawler\parser\indexer 上设置定时器来提高实时爬取和索引)。
上述查询只是对 OmniFind 索引文件进行,不再需要使用数据库,因此就不会对数据库造成压力;同时如果该表要使用 OmniFind 查询来替代数据库查询,则这个表就不需要建立任何索引,从而可以提高对他的插入和更新性能,并且节省存储空间;此外,OmniFind 查询是次秒级的,在全文检索速度和性能方面要远优于数据库全文检索。
如果我们再利用上 OmniFind 的如下特性,则会更能够显示出整合的优越性:
更多精彩
赞助商链接