Elasticsearch
JaJian.
这个作者很懒,什么都没留下…
展开
-
Elasticsearch 技术分析(九):Elasticsearch基础和原理总结
前言之前已经分享过Elasticsearch的使用和原理的知识,由于近期在公司内部做了一次分享,所以本篇主要是基于之前的博文的一个总结,希望通过这篇文章能让读者大致了解Elasticsearch是做什么的以及它的使用和基本原理。生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和 非结构化数据。结构化数据: 也称作行数据...原创 2019-07-22 09:32:00 · 600 阅读 · 0 评论 -
Elasticsearch 技术分析(八):剖析 Elasticsearch 的索引原理
前言创建索引的时候,我们通过Mapping 映射定义好索引的基本结构信息,接下来我们肯定需要往 ES 里面新增业务文档数据了,例如用户,日志等业务数据。新增的业务数据,我们根据 Mapping 来生成对应的倒排索引信息 。我们一直说,Elasticsearch是一个基于Apache Lucene 的开源搜索引擎。Elasticsearch的搜索高效的原因并不是像Redis那样重依赖内存的,...原创 2019-05-13 09:02:00 · 800 阅读 · 0 评论 -
Elasticsearch 技术分析(七): Elasticsearch 的性能优化
硬件选择Elasticsearch(后文简称 ES)的基础是 Lucene,所有的索引和文档数据是存储在本地的磁盘中,具体的路径可在 ES 的配置文件../config/elasticsearch.yml中配置,如下:# ----------------------------------- Paths ------------------------------------## P...原创 2019-03-11 10:44:00 · 1412 阅读 · 0 评论 -
Elasticsearch 技术分析(六): 自动发现机制 - Zen Discoveryedit
发现方式Zen discovery是内建的、默认的、用于Elasticsearch的发现模块。它提供了单播和基于文件的发现,可以通过插件扩展到支持云环境和其他形式的发现。Zen Discovery 是与其他模块集成的,例如,节点之间的所有通信都使用 transport 模块完成。某个节点通过 发现机制 找到其他节点是使用 Ping 的方式实现的。Zen Discovery 使用种子节点...原创 2018-12-27 09:01:00 · 604 阅读 · 0 评论 -
Elasticsearch 技术分析(五):如何通过SQL查询Elasticsearch
前言这篇博文本来是想放在全系列的大概第五、六篇的时候再讲的,毕竟查询是在索引创建、索引文档数据生成和一些基本概念介绍完之后才需要的。当前面的一些知识概念全都讲解完之后再讲解查询是最好的,但是最近公司项目忙经常加班,毕竟年底了。但是不写的话我怕会越拖越久,最后会不了了之了,所以刚好上海周末下雪,天冷无法出门,就坐在电脑前敲下了这篇博文。因为公司的查询这块是我负责的所以我研究了比较多点,写起来也顺...原创 2018-12-10 08:40:00 · 955 阅读 · 0 评论 -
Elasticsearch 技术分析(四): 分布式工作原理
前言通过前面章节的了解,我们已经知道 Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以一个之前从未有过的速度和规模,去探索你的数据。它被用作全文检索、结构化搜索、分析以及这三个功能的组合。 Elasticsearch 可以横向扩展至数百(甚至数千)的服务器节点,同时可以处理PB级数据。虽然说 Elasticsearch 是分布式的,但是对于我们开发者来说并未过多的参与...原创 2018-12-26 22:30:00 · 448 阅读 · 0 评论 -
Elasticsearch 技术分析(三): 索引别名Aliases问题
业务问题业务需求是不断变化迭代的,也许我们之前写的某个业务逻辑在下个版本就变化了,我们可能需要修改原来的设计,例如数据库可能需要添加一个字段或删减一个字段,而在搜索中也会发生这件事,即使你认为现在的索引设计已经很完美了,在生产环境中,还是有可能需要做一些修改的,需要添加映射字段或者需要修改字段类型等等。数据库中我们可以直接修改原来的表设计语句,前提是需要做好数据迁移。但是在 Elastic...原创 2018-12-20 21:47:00 · 624 阅读 · 0 评论 -
Elasticsearch 技术分析(二): 索引映射Mapping问题
数据库建表的时候,我们的DDL语句一般都会指定每个字段的存储类型,例如:varchar,int,datetime等等,目的很明确,就是更精确的存储数据,防止数据类型格式混乱。CREATE TABLE `shop_` ( `id_` varchar(36) NOT NULL COMMENT 'id', `shop_name_` varchar(50) DEFAULT NULL COMM...原创 2018-12-18 21:51:00 · 687 阅读 · 0 评论 -
Elasticsearch 技术分析(一): 基础入门
简介Elasticsearch是一个高度可扩展的、开源的、基于 Lucene 的全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据,并支持多租户。Elasticsearch也使用Java开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。不过,Ela...原创 2018-11-19 09:04:00 · 4171 阅读 · 1 评论 -
全文搜索引擎 ElasticSearch 还是 Solr?
最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 Solr 服务一出问题,我们的项目也基本瘫痪,因为所有的依赖查询都无结果数据了。所以考虑开发一个适配层,如果 Solr 搜索出问题,自动切换到新的搜索--ES。其实可以通过 Solr 集群或者服务容错等设计来解决...原创 2018-10-22 00:03:00 · 751 阅读 · 0 评论