
Lucene全文检索技术
dan_zhoudan
研究生阶段
展开
-
系统学习Lucene全文检索技术(五)
一、Lucene高级搜索1、文本搜索(1)QueryParser支持默认搜索域, 第一个参数为默认搜索域.如果在执行parse方法的时候, 查询语法中包含域名则从指定的这个域名中搜索, 如果只有查询的关键字,则从默认搜索域中搜索结果.需求描述 : 查询名称中包含华为手机关键字的结果.(2)@Testpublic void testIndexSearch() throws Exception {// 1. 创建Query搜索对象// 创建分词器Analyzer analyz原创 2020-06-06 16:22:46 · 272 阅读 · 0 评论 -
系统学习Lucene全文检索技术(四)
一、索引维护1、需求管理人员通过电商系统更改图书信息,这时更新的是关系数据库,如果使用lucene搜索图书信息,需要在数据库表book信息变化时及时更新lucene索引库。管理人员对数据库中的数据改变时,不仅仅是操作数据库中的数据,还需要把数据库中最新的数据同步到索引库;同步到索引库之后,消费者搜索查询到的数据才是最新的。2、添加索引调用 indexWriter.addDocument(doc)添加索引。入门程序的创建索引//7.写入文档到索引库 for.原创 2020-06-06 15:43:29 · 369 阅读 · 0 评论 -
系统学习Lucene全文检索技术(三)
一、搜索流程1、使用 luke 输入查询语句Lucene可以通过query对象输入查询语句。同数据库的sql一样,lucene也有固定的查询语法:最基本的有比如:AND, OR, NOT 等(必须大写)举个栗子:用户想找一个 name 域中包括 手 或 机 关键字的文档。它对应的查询语句:name:手 OR name:机如下图是使用luke搜索的例子:2、代码实现1. 创建Query搜索对象2. 创建Directory流对象,声明索引库位置3. 创建索引读取对象In.原创 2020-06-05 17:25:26 · 353 阅读 · 0 评论 -
系统学习Lucene全文检索技术(二)
一、Lucene入门1、Lucene准备Lucene可以在官网上下载。课程已经准备好了Lucene的文件,我们使用的是7.7.2版本2、创建IDEA maven项目(1)pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i原创 2020-06-05 13:45:09 · 230 阅读 · 0 评论 -
系统学习Lucene全文检索技术(一)
一、搜索技术理论基础为了解决数据库压力和速度的问题,我们的数据库就变成了索引库,我们使用Lucene的API的来操作服务器上的索引库。这样完全和数据库进行了隔离。二、数据查询方法1、顺序扫描法算法描述:所谓顺序扫描,例如要找内容包含一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾,如果此文档包含此字符串,则此文档为我们要找的文件,接着看下一个文件,直到扫描完所有的文件。优点:查询准确率高缺点:查询速度会随着查询数据量的增大, 越来越慢使用场景.原创 2020-06-04 09:56:33 · 735 阅读 · 0 评论