黑马程序员技术交流社区

标题: 【济南校区】lucene的基本使用 [打印本页]

作者: 小鲁哥哥    时间: 2018-6-29 12:49
标题: 【济南校区】lucene的基本使用
本帖最后由 小鲁哥哥 于 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







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2