数据库的全文搜索

这里说的数据库搜索不是指全文检索,如果是全文检索,针对非结构化数据,可以采用常用的全文检索软件提供的接口实现,比如lucence,sphinx等开源软件实现,设计到大数量的问题,不属于本文考虑的问题。


一般数据库系统中存储的都是结构化的数据,每个字段的数据量很小,针对这样的数据进行全文搜索,如果是单个表,可以穷举各个字段,获得各个字段大致是采用resultset.getDatabaseMetaDate函数,然后对各个字段采用 like 'keyword‘等,如果不是一个关键词,可以按空格对输入的字符串进行切割,一般来说,输入的单词之间是与关系。这里要把这些 select 语句 采用 union 关键词组合起来,即结果集组合,union表示结果集没有重复,union all 表示有重复,所以union执行时会效率有所降低。

如果针对多个表,采用类似的方法,对每个表进行遍历。最终得到结果集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值