本帖最后由 小鲁哥哥 于 2018-6-29 12:51 编辑
【济南校区】lucene的基本使用
根据“词条”搜索出来的结果:倒排索引结构(里面包含"文档ID") 倒排:原来根据ID搜内容,现在根据内容搜ID,所以叫倒排
全文检索:先创建索引,然后查询索引的过程
创建索引步骤:
1.指定索引位置 Directory 需要指定路径
2.创建IndexWriterConfig lucene当前版本,分词器
3.创建IndexWriter Directory,IndexWriterConfig
4.创建Document 文档对象,相当于表中一行数据
5.创建Field,把field添加到Document中 field相当于表中列
6.把field添加到索引库
7.提交操作
8.释放资源
查询索引步骤:
1.指定索引位置 Directory 需要指定路径
2.创建indexReader 需要 Directory
3.创建indexSearcher 需要 indexReader,查询执行者
4.创建查询条件对象QueryParse 查询条件封装,指定具体的分词器及搜索的域
5.使用indexSearcher执行查询,获得查询结果 TopDocs
6.使用TopDocs。获取全部文档ID scoreDocs,根据文档id,获取文档对象
7.释放资源
查询索引API:(重点)
查询对象:
TermQuery : 完全匹配查询
wildCardQuery:通配符查询
FuzzyQuery:模糊查询(纠错,补位,移位)
NumbericRangeQuery:数值范围查询
BooleanQuery:条件组合
QueryParse(单域),MultiFieldQueryParse(多域)
索引库维护:
索引库新增,修改,删除 indexWriter
关键字高亮显示:highLighter
根据域排序: sort
更改权重,改变排序
IK分词器使用:(重点)
1.导入IK的jar包
2.导入Ik的配置文件
IKAnalyzer.cfg.xml 核心配置文件,加载自定义扩展词典,停用词典
lucene和solr的关系?(重点)
lucene全文检索技术,一类工具包;solr是apache开源顶级项目,也是一个搜索引擎
solr是基于lucene开发的
区别:
lucene不支持数值范围的“语法查询”
solr支持数值范围的语法查询
如果你想了解更多黑马课程,如果你想加入黑马这个大家庭学习先进技术,光交天下好友,那就快来吧!
黑马程序员济南中心联系电话:0531-55696830
|