数据库全库搜索简单实现
2012-06-19 23:48
239 查看
这里说的数据库搜索不是指全文检索,如果是全文检索,针对非结构化数据,可以采用常用的全文检索软件提供的接口实现,比如lucence,sphinx等开源软件实现,设计到大数量的问题,不属于本文考虑的问题。
一般数据库系统中存储的都是结构化的数据,每个字段的数据量很小,针对这样的数据进行全文搜索,如果是单个表,可以穷举各个字段,获得各个字段大致是采用resultset.getDatabaseMetaDate函数,然后对各个字段采用 like 'keyword‘等,如果不是一个关键词,可以按空格对输入的字符串进行切割,一般来说,输入的单词之间是与关系。这里要把这些 select 语句 采用 union 关键词组合起来,即结果集组合,union表示结果集没有重复,union
all 表示有重复,所以union执行时会效率有所降低。
如果针对多个表,采用类似的方法,对每个表进行遍历。最终得到结果集。
一般数据库系统中存储的都是结构化的数据,每个字段的数据量很小,针对这样的数据进行全文搜索,如果是单个表,可以穷举各个字段,获得各个字段大致是采用resultset.getDatabaseMetaDate函数,然后对各个字段采用 like 'keyword‘等,如果不是一个关键词,可以按空格对输入的字符串进行切割,一般来说,输入的单词之间是与关系。这里要把这些 select 语句 采用 union 关键词组合起来,即结果集组合,union表示结果集没有重复,union
all 表示有重复,所以union执行时会效率有所降低。
如果针对多个表,采用类似的方法,对每个表进行遍历。最终得到结果集。
相关文章推荐
- jquery easy ui 简单字段选择搜索实现
- C#利用反射+特性实现简单的实体映射数据库操作类
- 蛙蛙推荐:用c#实现一个简单的分布式搜索
- 通过PHP CLI实现简单的数据库实时监控调度
- jsp单页面数据库查询模板:支持分页、排序、简单搜索、设置每页显示页数功能
- MyBatis学习笔记-01.MyBatis简单入门_实现MyBatis对数据库的查询操作以及IllegalArgumentException异常问题
- 数据库访问简单实现edainfo-model(二)——简单例子
- 二分搜索简单实现(binanry search)
- 实现 oracle数据库转意数据到Mysql,最简单最直接
- 实战:Nodejs+Mongodb+Elasticsearch 实现简单的搜索
- powerdesign设计、实现简单的数据库模型
- 利用委托实现简单的注册(只是写入到文本当中没有连数据库)
- 数据库的最简单实现
- C#实现简单的数据库维护
- 一个简单的多重搜索的实现
- 搜索二叉树的简单实现
- 网页实现从数据库读取数据并简单分页
- Python实现抓取链接/分词/索引/搜索关键词——简单搜索引擎
- 利用JAVA多线程采集数据库与Linux主机指标的简单实现
- Android特效专辑(九)——仿微信雷达搜索好友特效,逻辑清晰实现简单