复习完jbpm后,下一步是全文检索,jbpm要掌握api、流程实例、任务的执行和流程变量,其它有点串成线就ok了!!
=======================
复习全文搜索引擎 Lucene
一、概念介绍
a:信息检索概念
在信息集合里查询出用户感兴趣的内容,检索的信息包括文本、图片、video,我们只讨论检索文本
b:信息检索的技术
1)全文检索:把用户的输入与索引库里词一个个比较,将结果返回。
2)数据检索:要求输入与数据系统里都遵循一定的规则。
3)知识检索:强调基于知识语义上的匹配。
c:信息检索的工作流程
1)采集信息软件(爬虫、蜘蛛)
2)采集到的信息经过加工分析(分词器分词)
3)建立索引保存到索引库里
4)用户输入感兴趣的内容
5)搜索引擎将用户的输入经过加工分析
(分词器分词,注意:最好建立索引使用的分词器与解析用户输入的分词器一致,保证数据的正确性)
6)去索引库查看,进行相关度排序后返回
关键名词:分词器、索引排序结构
d:信息检索的详细解释
1)分词器
a:分词器的作用
1)分词器:讲文本按一地的规则切分为可索引的最小单位(关键词)
b:英文分词器
1)英文分词器工作原理:
输入文本 ---> 关键词切分 ---> 去除停用词 ---> 形态还原 ---> 转为小写
例子:IndexWriter addDocument's a javadoc.txt
关键词切分: IndexWriter addDocument's a javadoc.txt
排除停用词: IndexWriter addDocument's javadoc.txt
形态 还原: IndexWriter addDocument javadoc.txt
转为 小写: indexwriter adddocument javadoc.txt
c:中文分词器
1)单字分词、二分法分词、字典分词、语义分词
例子:“我们是中国人”
单字分词: 我 们 是 中 国 人
二分法分词: 我们 是中 国人
词典分词: 我们 中国人
d:其它解释
1) 停用词:出现次数比较高的常用的词语,对文本的语义不造成影响。stop-world
2) 形态还原:worked、playing ---> 还原 ---> work、play
2)索引排序结构
倒排索引,索引对象是文档中的单词等,用来存储这些单词在一个文档中的位置。
例如,有些书在最后提供的索引(单词——页码 的对应列表),就可以看成是一种倒排序索引。
可以通过一些关键字,在全书中检索出与之相关的部分。
3)索引目录
a:RAMDirectory 在内存里创建索引
b:FSDirectory 在硬盘里创建索引
c:一般将硬盘索引加载到内存里,
程序退出时将内存索引持久化到硬盘
二、创建索引
a)HelloWorld应用(jar+配置文件)
1)添加索引
api:
IndexWriter
indexWriter.addDocument(doc);
indexWriter.close();
2)删除索引
indexWriter.deleteDocuments(term);
indexWriter.close();
3)更新索引
indexWriter.updateDocument(term, doc);
注意:修改索引会造成索引结果的多处改变,维护代价比较高,一般都是先删除再添加
4)查询
IndexSearcher
QueryParser
Filter
TopDocs
三、信息检索
1)普通查询
a:通过lucene的查询api查询
b:通过查询语法写字符串查询
2)高亮显示
3)数字、日期索引
注意:
因为在文本搜索时 200 >1000 从第一位就开始比较
咱应该先补0成相同位数。
日期同样原理
四、项目结合使用
1)
一般配置一下就可以执行创建索引、删除索引操作,高亮显示操作
主要是做查询操作。
传智播客毕业第一周复习Lucene全文检索
最新推荐文章于 2019-04-12 15:04:11 发布