lucene
1lucene是一个基于java的全文搜索工具包
2lucene是Apache Jakarta的一个子项目,是一个全文检索的搜索引擎库。其提供了简单实用的API,通过这些API可以自行编写对文件(TEXT/XML/HTML等)、目录、数据库的全文检索程序。
3lucene的组成结构:对于外部应用来说索引模块(index)和检索模块(search)是主要的外部应用入口
org.apache.Lucene.search/ | 搜索入口 |
org.apache.Lucene.index/ | 索引入口 |
org.apache.Lucene.analysis/ | 语言分析器 |
org.apache.Lucene.queryParser/ | 查询分析器 |
org.apache.Lucene.document/ | 存储结构 |
org.apache.Lucene.store/ | 底层IO/存储结构 |
org.apache.Lucene.util/ | 一些公用的数据结构 |
4
luene是一个面向对象设计的典范。
可以参考源码!(www.apche.org)
5
一些数据库优化设计的要求
尽可能对字段进行索引来提高查询速度,但过多的索引会对数据库表的更新操作变慢,而对结果过多的排序条件,实际上往往也是性能的杀手之一。
很多商业数据库对大批量的数据插入操作会提供一些优化参数。
20%/80%原则:查的结果多并不等于质量好,尤其对于返回结果集很大,如何优化这头几十条结果的质量往往才是最重要的。
尽可能让应用从数据库中获得比较小的结果集,因为即使对于大型数据库,对结果集的随机访问也是一个非常消耗资源的操作。
以上内容摘自车东的一篇文章《lucene:基于java的全文检索引擎简介》