1. es基础 1.1 es定义 Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口 es相当于数据库,没有数据格式约束。 1.2 ES数据架构的主要概念(与关系数据库Mysql对比) (1)关系型数据库中的数据库 ...
分类:
其他好文 时间:
2020-04-15 23:03:14
阅读次数:
165
学习的原因: 17年的时候有学习使用过lucene和solr,但是后来也遗忘了,最近公司有个项目需要使用到全文检索,正好也顺便跟着学习一下,使用的版本是Solr7.4的, solr解压之后的目录结构: 各文件夹里面的内容: solr从5版本之后不再需要tomcat,使用内置的jetty启动。 下面开 ...
分类:
其他好文 时间:
2020-04-08 10:14:13
阅读次数:
80
简述 前面从新回顾学习了Solr,正好也借此机会顺便学习一下Lucene。 一、什么是Lucene? 全文检索的一个实现方式,也是非结构化数据查询的方法。应用场景:在数据量大,数据结构不固定的时候,采用Lucene,比如百度、Google等搜索引擎,网站的站内搜索,电商平台的商品检索等。 二、Luc ...
分类:
Web程序 时间:
2020-04-08 10:11:04
阅读次数:
88
一、Elasticsearch介绍 之前有学习使用过Solr。Elasticsearch也是基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的 ...
分类:
其他好文 时间:
2020-04-08 10:03:52
阅读次数:
306
1、分片和副本机制 1、index包含多个shard 2、每个shard都是一个最小工作单元,承担部分数据;每个shard都是一个lucene示例,有完整的建立索引和处理请求的能力 3、增减节点时,shard会自动在nodes中负载均衡 4、primary shard和replica shard,每 ...
分类:
其他好文 时间:
2020-04-06 10:03:16
阅读次数:
83
ElasticSearch简介 ES是基于Lucene构建的开源、分布式、RESTful接口全文搜索引擎。同时它还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,便于扩展,能在短时间内搜索和分析大量数据。 Lucene Lucene是一个Java全文搜索引擎;仅是一个框架,提供代码库 ...
分类:
其他好文 时间:
2020-04-05 13:48:42
阅读次数:
325
package com.blog.lucene; import com.blog.entity.Blog; import com.blog.utils.DateUtils; import com.blog.utils.StringUtils; import org.apache.commons.la ...
分类:
编程语言 时间:
2020-04-04 09:54:28
阅读次数:
72
lucene详细存储结构: 索引 (Index) : 一个目录一个索引,在 Lucene 中一个索引是放在一个文件夹中的。 段(Segment) : 一个索引 (逻辑索引)由多个段组成, 多个段可以合并, 以减少读取内容时候的磁盘IO. Lucene 中的数据写入会先写在内存的一个Buffer,当B ...
分类:
编程语言 时间:
2020-03-23 09:15:59
阅读次数:
107
1.文本搜索 QueryParser支持默认搜索域, 第一个参数为默认搜索域. 如果在执行parse方法的时候, 查询语法中包含域名则从指定的这个域名中搜索, 如果只有查询的关键字,则从默认搜索域中搜索结果. 需求描述 : 查询名称中包含华为手机关键字的结果. // Query query = qu ...
分类:
Web程序 时间:
2020-03-23 00:21:08
阅读次数:
100
1.修改索引 更新索引是先删除再添加,建议对更新需求采用此方法,并且要保证对已存在的索引执行更新,可以先查询出来,确定更新记录存在执行更新操作。 如果更新索引的目标文档对象不存在,则执行添加。 /** * 修改索引库 */ @Test public void testUpdateIndex() th ...
分类:
Web程序 时间:
2020-03-22 20:01:34
阅读次数:
86