lucene3.0

全文搜索
核心:创建索引——查询索引--分词器
索引引擎:创建索引
查询引擎:查询索引
文本分析引擎:分词器
开发接口:应用调用他的api实现以上功能


一、lucene实例(全文检索适用于数据量巨大的情况)
基于java的全文索引工具包(只关注文本的搜索和索引)
package:lucene。index索引包、lucene。store存储包、lucene。document一条索引、lucene。util工具包、lucene。queryParser解析搜索语言包、lucene。search查询包、lucene。analysis对外接口,分词包



1.文件搜索引擎(文件解析、创建索引、检索)
流程:
构建文本库----构建索引----进行搜索----对结果进行过滤、排序
package:core
数据来源:txt文件
1.数据收集
2.创建索引
    a。创建indexWriter
    b。创建Document 添加到IndexWriterz中
    c。创建Field,添加到Document
    d。优化索引
    e。关闭IndexWriter

IndexWriter(文件,分词器,是否新建索引文件,是否限制大小多少(或给出数量按照出现频率多少创建))
Field:
存储:表示是否需要显示
索引:表示是否需要按此项进行搜索
分词:表示是否对该项支持模糊查询
pulic Field(String name,String value,Store store,Index index);
pulic Field(String name,Reader reader);
pulic Field(String name,byte[] value,Store store);
name:名称
value:值,文字或二进制数组(比如声音,图片),文字较多可以用流读取
store:存储
store.NO 不存储
store.YES 存储
store.COMPRES 压缩存储(适用二进制)
index:索引方式
Index.NO 不索引
Index.UN_ANALYZED 不分词索引
Index.NO_NORMS 不分词索引,禁止参与评分,减少内存消耗
Index.ANALYZED 分词索引

3.查询索引
TopDocs--TopDocs.totalHits--TopDocs.scoreDocs--scoreDoc.doc--scoreDoc.score
a.创建Indexsearch
b.创建query new xxxQuery()/QueryParse.parse(..);
c.执行搜索,返回topDocs
d.遍历topDocs.scoreDocs
e.找到doc--Document
f.Document--Field
g.关闭IndexSearch
IndexSearch(文件,是否只读);
分词器:standard、jfk、ik
office:poi

2.web搜索引擎
爬虫、html解析、创建索引、分页搜索、高亮显示
3.wap搜索引擎
创建查询索引、wap显示

二、分布式搜索与缓存
1.特指的分布式搜索引擎

2.广义上的分布式搜索引擎

你可能感兴趣的:(Lucene)