1. Lucene索引原理
http://blog.csdn.net/geekwang/archive/2008/11/29/3410187.aspx
1) 倒排文件索引结构
2) 关键词, 文章号[出现频率], 出现位置
3) 关键字是按字符顺序排列的(lucene没有使用B树结构),因此 lucene可以用二元搜索算法快速定位关键词
4) 减小索引文件的大小,Lucene 对索引还使用了压缩技术
2. Lucene:基于Java的全文检索引擎简介
http://www.chedong.com/tech/lucene.html
Index
IndexWriter write = new IndexWriter(indexPath, new SimpleAnalyzer(), false);
Document doc = new Document();
doc.add(Field.Text("body", (Reader) new InputStreamReader(is)));
writer.addDocument(doc);
Search
Searcher searcher = new IndexSearcher(indexPath);
Query query = QueryParser.parse(queryString, "body", new SimpleAnalyzer());
Hits hits = searcher.search(query);
hits.doc(i).get("path")
Merge Index
IndexWriter indexWriter = new IndexWriter(to, sa, false);
FSDirectory[] fs = { FSDirectory.getDirectory(from, false) };
indexWriter.addIndexes(fs);
indexWriter.optimize();
3. 亿级数据的高并发通用搜索引擎架构设计
http://www.kuqin.com/searchengine/20090215/35132.html
Index
信息处理入队列-->
信息写入搜索引擎数据存储层Tokyo Tyrant,异步入MySQL主表作备份, 也写增量表-->
每1分钟对增理表作索引,每3小时合并主索引且清空增量表
Search
查询Sphinx索引服务,取得满足查询条件的搜索引擎唯一ID (类别ID+原数据表主键ID) -->
通过Memcache协议一次性从Tokyo Tyrant中mget取回ID号对应的文本数据
4. 常用的分类算法
支持向量机(SVM),朴素贝叶斯(NB),神经网络(NN),K近邻(KNN),决策树(Decision Tree)
分享到:
相关推荐
《Apache Lucene 7.7.2:稳定与卓越的全文搜索引擎库》 Apache Lucene 是一个开源的全文搜索引擎库,被广泛应用于各种需要高效、精确搜索功能的应用中。7.7.2 版本是 Lucene 的一个重要稳定版本,它在前一版本的...
**Lucene技术详解** Lucene是一个高性能、全文检索库,由Apache软件基金会开发并维护,是Java编程语言中广泛使用的搜索引擎库。它提供了强大的文本分析、索引构建、查询解析和结果排序等功能,使得开发者可以轻松地...
《深入理解Lucene Java开发与应用》 Lucene是一个高性能、全文检索库,它是Java编写的一个开源项目,被广泛应用于各种版本的Java开发环境中,以实现高效、灵活的索引和搜索功能。Lucene的核心特性包括文本分析、...
《Lucene实战》第二版是一本深入探讨Apache Lucene搜索引擎库的权威指南。这本书主要针对开发者,特别是那些希望在自己的应用程序中集成全文搜索功能的人。Lucene是一个高性能、全文本检索库,它允许开发人员轻松地...
【Lucene全文检索技术详解】 Lucene是一款由Apache软件基金会开发的开源全文检索库,它为Java开发者提供了强大的文本分析和全文检索功能。在信息爆炸的时代,如何快速、准确地从海量数据中检索出所需信息成为了关键...
《深入剖析Lucene:从源码到实践》 Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,主要用于构建搜索引擎。它提供了一个简单但功能强大的API,使得开发者能够轻松地在应用中实现文本检索功能。Lucene...