文章分类 - elasticsearch
摘要:对象及 Nested 对象 数据的关联关系 真实世界中有很多重要的关联关系 博客 / 作者 / 评论 银⾏账户有多次交易记录 客户有多个银⾏账户 ⽬录⽂件有多个⽂件和⼦⽬录 关系型数据库的范式化设计 Denormalization 反范式化设计 数据 “Flattening”,不使⽤关联关系,⽽是在
阅读全文
摘要:Bucket & Metric 聚合分析及嵌套聚合 Aggregation 的语法 Aggregation 属于 Search 的 一部分。一般情况下,建议将其 Size 指定为 0 Metric Aggregation ⼀个例⼦:⼯资统计信息 插入数据 DELETE /employees PUT
阅读全文
摘要:维护并且更新 Cluster State 集群分布式模型及选主与脑裂问题 分布式特性 ● Elasticsearch 的分布式架构带来的好处 存储的⽔平扩容,⽀持 PB 级数据 提⾼系统的可⽤性,部分节点停⽌服务,整个集群的服务不受影响 ● Elasticsearch 的分布式架构 不同的集群通过不
阅读全文
摘要:基于词项和基于全文的搜索 基于 Term 的查询(一般为了性能可以设置参数使其不打分) 关于 Term查询的例子 数据准备 DELETE products PUT products { "settings": { "number_of_shards": 1 } } POST /products/_b
阅读全文
摘要:文档的 CRUD 与批量操作 create document. 自动生成 _id POST users/_doc { "user": "Mike", "post_date": "2019-04-15T14:12:12", "message": "trying out Kibana" } create
阅读全文
摘要:Elasticsearch集群 单点的问题 单台服务器,往往都有最大的负载能力,超过这个阈值,服务器性能就会大大降低甚至不可用。单点的elasticsearch也是一样,那单点的es服务器存在哪些可能出现的问题呢? 单台机器存储容量有限 单服务器容易出现单点故障,无法实现高可用 单服务的并发处理能力
阅读全文
摘要:结果过滤 默认情况下,elasticsearch在搜索的结果中,会把文档中保存在_source的所有字段都返回。 如果我们只想获取其中的部分字段,我们可以添加_source的过滤 直接指定字段 示例: POST /heima/_search { "_source": ["title","price"
阅读全文
摘要:API简介 Elasticsearch提供了Rest风格的API,即http请求接口,而且也提供了各种语言的客户端API Rest风格API 文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
阅读全文
摘要:Elasticsearch简介 什么是Elasticsearch Elaticsearch简称为es,是一个开源的可扩展的全文检索引擎服务器,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es使用Java开发并使用Lucene作为其核心来实现索引和搜索的
阅读全文
摘要:什么是Lucene Lucene是免费开源用于全文检索的程序工具包(API),由Apache软件基金会支持和提供。目前主流的java搜索框架都是依赖Lucene,官网:http://lucene.apache.org 搜索介绍 数据库搜索的问题 使用传统的数据库存储数据,那么会存在下述的问题: 在某
阅读全文