
ElasticSearch
文章平均质量分 88
阿弥陀佛僧
知幻即离,不假方便;离幻即觉,亦无渐次。
展开
-
Elasticsearch08——面试题
1、为什么要使用es? 系统中的数据,随着业务的发展,时间的推移,将会非常多,而业务中往往采用模糊查询进行数据的搜索,而模糊查询会导致查询引擎放弃索引,导致系统查询数据时全表扫描,在百万级别的数据库中,查询效率是非常低下的,而我们使用 ES 做一个全文索引,将经常查询的某些字段和关键词,比如说电商系统的商品表中商品名,描述、价格还有 id 这些字段我们放入 ES 索引库里,可以提高查询速度。2、Elasticsearch 的 master 选举流程? Elasticsearch 的选主是 ZenDis原创 2021-07-28 17:07:01 · 213 阅读 · 0 评论 -
Elasticsearch07——ES优化
一、硬件选择 Elasticsearch 的基础是 Lucene,所有的索引和文档数据是存储在本地的磁盘中的,具体的路径可在 ES 的配置文件…/config/elasticsearch.yml 中配置,配置项如下:#----------------------------------- Paths------------------------------------## Path to directory where to store the data (separate multiple loc原创 2021-07-20 11:30:56 · 885 阅读 · 0 评论 -
Elasticsearch06——Elasticsearch 集成
一、Spring Data 框架集成 Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计算数据服务。 Spring Data 可以极大的简化 JPA(Elasticsearch)的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了 CRUD 外,还包括如分页、排序等一些常用的功能。 Spring Data Elasticsearch 基于 spring data原创 2021-07-19 18:06:13 · 446 阅读 · 1 评论 -
Elasticsearch05——概念和原理
一、核心概念1、索引(index) 一个索引就是一个拥有相似特征的文档的集合。比如说,你可以有一个客户数据的索引,一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。在一个集群中,可以定义任意多的索引。 能搜索的数据必须索引,这样的好处是可以提高查询速度。Elasticsearch 索引的精髓:一切设计都是为了提高搜索的性能。2、类型(type) 在一个索引中,你可以定义一种原创 2021-06-21 11:31:11 · 443 阅读 · 1 评论 -
Elasticsearch04——集群及其搭建
一、单机部署的缺陷 使用单台 Elasticsearch 服务器提供服务,往往都有最大的负载能力,超过这个阈值,服务器性能就会大大降低甚至不可用,所以生产环境中,一般都将es运行在集群中的多台服务器上。 除了负载能力,单点服务器还存在其他问题: ①单台机器存储容量有限 ②单服务器容易出现单点故障,无法实现高可用 ③单服务的并发处理能力有限二、集群 一个集群就是由一个或多个服务器节点组织在一起,共同持有整个的数据,并一起提供索引和搜索功能。一个 Elasticsearch 集群有一个唯一的名字标原创 2021-06-16 18:06:17 · 227 阅读 · 3 评论 -
Elasticsearch03——Java API
Elasticsearch 软件是由 Java 语言开发的,所以也可以通过 Java API 的方式对 Elasticsearch 服务进行访问。一、项目依赖<dependencies> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.8.0</ve原创 2021-06-16 14:27:47 · 656 阅读 · 0 评论 -
Elasticsearch02——高级查询
es中的查询操作,均使用get请求(post请求也可以),请求的url均为:http:ip:port/index/_search,所不同的只是请求体。1、查询所有文档http://127.0.0.1:9200/student/_search{ "query": { "match_all": {} }} “query”:这里的 query 代表一个查询对象,里面可以有不同的查询属性 “match_all”:查询类型,除match_all(代表查询所有)外还有 match、ter原创 2021-06-15 18:05:08 · 812 阅读 · 1 评论 -
Elasticsearch01——基本操作
一、通信端口 默认情况下9300 端口为 Elasticsearch 集群间组件的通信端口,9200 端口为浏览器等访问使用的 Http 协议端口,当然这些端口可以通过配置文件修改。二、概念类比 Elasticsearch 是面向文档型的数据库,一条数据就是一个文档。为了方便理解,可以将 Elasticsearch 和关系型数据库 MySQL 进行一个类比: 这里 Types 的概念已经被逐渐弱化,Elasticsearch 6.X 中,一个 index 下已经只能包含一个type,Elasti原创 2021-06-15 15:40:46 · 286 阅读 · 2 评论