
24-全文检索
Lucene,solr,Elasticsearch
夜未眠shm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Elasticsearch(三) Java API操作
Java API操作 Elasticsearch的Java客户端非常强大;它可以建立一个嵌入式实例并在必要时运行管理任务。 运行一个Java应用程序和Elasticsearch时,有两种操作模式可供使用。该应用程序可在Elasticsearch集群中扮演更加主动或更加被动的角色。在更加主动的情况下(称为Node Client),应用程序实例将从集群接收请求,确定哪个节点应处理该请求,就像正常节点所做的一样。(应用程序甚至可以托管索引和处理请求。)另一种模式称为Transport Cli...原创 2020-07-21 00:20:17 · 428 阅读 · 0 评论 -
Elasticsearch(二)安装
快速入门2.1 安装包下载1)Elasticsearch官网: https://www.elastic.co/products/elasticsearch2.2 安装Elasticsearch(单节点Linux环境)2.2.1 在/usr/local下创建目录es上传下载包elasticsearch-7.8.0-linux-x86_64.tar.gz,解压2.2.2 进入elasticsearch-7.8.0目录创建data和logs文件夹2.2.3 ..原创 2020-07-21 00:14:23 · 321 阅读 · 0 评论 -
Elasticsearch(一)概述
1.1 什么是搜索?百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜欢的电影,或者说找一本喜欢的书,或者找一条感兴趣的新闻(提到搜索的第一印象)。百度 != 搜索1)互联网的搜索:电商网站,招聘网站,新闻网站,各种app2)IT系统的搜索:OA软件,办公自动化软件,会议管理,日程管理,项目管理。搜索,就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息1.2 如果用数据库做搜索会怎么样?用转载 2020-07-07 00:22:23 · 313 阅读 · 0 评论 -
Solr(六)javaAPI之solrj--查询
1. 全查询 @Test public void queryAll() throws Exception { HttpSolrClient httpSolrClient = HttpSolrClientUtils.getHttpSolrClient(); String keywords="*:*"; //创建一个查询条件对象 SolrQuery solrQuery=new SolrQuery(keywords);原创 2020-06-01 12:19:19 · 1195 阅读 · 0 评论 -
Solr(五)javaAPI之solrj
目录1. 准备工作1.1 solrj依赖1.2 工具类2. 添加数据3. 删除数据4.添加自定义字段,并添加数据5.使用注解的方式添加1. 准备工作1.1 solrj依赖<dependencies> <!--solr的javaAPI依赖--> <dependency> <groupId>org.apache.solr</groupId> ..原创 2020-05-30 01:12:53 · 501 阅读 · 0 评论 -
Solr(四)中文分词及IK库的使用
目录1. 概述1.1 分词:1.2 配置目的1.3 分词器的选择2. 分词器的配置2.1 下载2.2修改managed-sahma2.3 把IK的配置入到solr2.4 重启solr分析2.5存在问题3.中文分词如何使用到属性上3.1 添加一个属性3.2 添加数据3.3 查看分词3.4 查询测试4. 自定义分词1. 概述1.1 分词:指将一个中文词语拆成若干个词,提供搜索引擎进行查找,比如说:北京大学 是一个词那么进行拆分可以...原创 2020-05-29 21:52:27 · 1768 阅读 · 1 评论 -
Solr(三)控制台
目录1.Solr控制台说明-主面板1.1 Dashboard(仪表盘)1.2 Logging(日志)1.3 Core Admin (core管理)1.4 Java Properties1.5 Thread Dump2.core操作说明2.1 Overview2.2 Analysis(分析器)2.3 Schema 【/usr/local/solr-7.7.3/server/solr/db2-core/conf】2.3.1 添加一个field2.3.2添加一个.原创 2020-05-26 23:36:03 · 1154 阅读 · 0 评论 -
Solr(二)索引库
目录1. 名词解释1.1 索引库1.2 索引分词1.3 搜索分词1.4 文档1.5 字段1.6 和Mysql的数据库做对比2.配置文件说明2.1 Solr Home2.2Solr 配置文件3. Solr索引库创建3.1 索引库概述3.2 使用solr管理页面创建3.2.1 打开solr的管理页面3.2.2 点击add Core3.2.3 添加异常处理3.3 使用命令创建3.3.1 进入solr的bin目录3.3.2 执行创...原创 2020-05-21 19:46:08 · 1066 阅读 · 0 评论 -
Solr(一)概述与安装
目录1.概述1.1 定义1.2 特点1.3 工作方式1.4 SolrCloud与Solr,lucene关系1.4.1 solr与luence的关系1.4.2 Solr与SolrCloud2. Solr安装2.1 安装前说明2.2 下载2.3 启动solr2.3.1 进入solr目录,目录分析2.3.2 进入bin目录,目录分析2.3.3 启动2.4 测试验证2.5 安装可能存在的问题2.5.1 无法启动2.5.2 启动成功之后无法.原创 2020-05-17 19:03:40 · 416 阅读 · 0 评论 -
Lucene(九)拓展2-倒排索引
1. 倒排索引算法1.1 什么是倒排索引?见其名知其意,有倒排索引,对应肯定,有正向索引。正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词也已经转换为关键词ID)。例如“文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现位置。正向索引的结构如下: “文档1”的ID >...原创 2020-05-16 01:00:37 · 762 阅读 · 0 评论 -
Lucene(八)拓展1-结巴分词(java版) jieba-analysis
GitHub地址:https://github.com/huaban/jieba-analysis结巴分词(java版) jieba-analysis首先感谢jieba分词原作者fxsjy,没有他的无私贡献,我们也不会结识到结巴 分词. 同时也感谢jieba分词java版本的实现团队huaban,他们的努力使得Java也能直接做出效果很棒的分词。不过由于huaban已经没有再对java版进行维护,所以我自己对项目进行了开发。除了结巴分词(java版)所保留的原项目针对搜索引擎分词的功能(cutf转载 2020-05-15 23:04:06 · 1166 阅读 · 0 评论 -
Lucene(七)总结
1.什么是全文检索 2.全文检索的应用场景 3.什么是lucene 4.lucene实现全文检索的流程 5.入门程序 6.分析器 7.索引库维护 8.索引库查询五.入门程序原创 2020-05-14 00:56:38 · 166 阅读 · 0 评论 -
Lucene(六)索引库的维护
1. 索引库的添加1.1 Field域的属性是否分析:是否对域的内容进行分词处理。前提是我们要对域的内容进行查询。 是否索引:将Field分析后的词或整个Field值进行索引,只有索引方可搜索到。比如:商品名称、商品简介分析后进行索引,订单号、身份证号不用分析但也要索引,这些将来都要作为查询条件。 是否存储:将Field值存储在文档中,存储在文档中的Field才可以从Document中获取比如:商品名称、订单号,凡是将来要从Document中获取的Field都要存储。是否存储的标准:是否要将内原创 2020-05-14 00:47:04 · 372 阅读 · 0 评论 -
Lucene(三)核心概念
1.Lucene概述Lucene是一款高性能的、可扩展的信息检索(IR)工具库。信息检索是指文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作。2.索引过程:①获取内容②建立文档获取原始内容后,就需要对这些内容进行索引,必须首先将这些内容转换成部件(通常称为文档),以供搜索引擎使用。文档主要包括几个带值的域,比如标题、正文、摘要、作者和链接。③文档分析搜索引擎不能直接对文本进行索引:确切地说,必须将文本分割成一系列被称为语汇单元的独立的原子元素。每一个语汇单元大致与语言中的“单词转载 2020-05-12 00:35:19 · 450 阅读 · 0 评论 -
Lucene(五)分析器
1.分析器的分词效果1.1 分析文本"The Spring Framework provides a comprehensive programming and configuration model."1.2 代码import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis.TokenStream;import org.apache.lucene.analysis.standard.Stand原创 2020-05-13 22:30:24 · 275 阅读 · 0 评论 -
Lucene(四)入门程序
1. 依赖1.1 直接下载jar包Lucene是开发全文检索功能的工具包,从官方网站http://lucene.apache.org/,下载lucene-7.4.0,并解压。Jdk要求:1.8以上1.2 方式二:pom.xml文件 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io<..原创 2020-05-12 00:27:29 · 365 阅读 · 0 评论 -
Lucene(二)Lucene实现全文检索的流程
1. 索引和搜索流程图 1、绿色表示索引过程,对要搜索的原始内容进行索引构建一个索引库,索引过程包括: 确定原始内容即要搜索的内容→采集文档→创建文档→分析文档→索引文档 2、红色表示搜索过程,从索引库中搜索内容,搜索过程包括: 用户通过搜索界面→创建查询→执行搜索,从索引库搜索→渲染搜索结果2. 创建索引对文档索引的过程,将用户要搜索的文档内容进行索引,索引存储在索引库(index)中。这里我们要搜索的文档是磁盘上的文本文件,根据案例描述:凡是文件名或.原创 2020-05-11 21:13:05 · 383 阅读 · 0 评论 -
Lucene(一)入门介绍
1. Lucene简介 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Luc原创 2020-05-11 20:53:04 · 148 阅读 · 0 评论