博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ElasticSearch
阅读量:3958 次
发布时间:2019-05-24

本文共 1210 字,大约阅读时间需要 4 分钟。

Elasticsearch简介

Elasticsearch是一个基于的搜索服务。它提供了一个分布式多用户的全文搜索引擎,基于RESTful web接口,它是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎

Elasticsearch特点

高亮展示

超越精确匹配

确保结果的相关性

给予自动提示

提供快速查询

Elasticsearch依赖倒排索引,为用户快速的呈现搜索的相关结果

Elasticsearch的优缺点

优点:

速度快,负载强,面对海量的数据时,搜索速度极快

横向可扩展性:只要增加一台服务器,做一点配置,启动ES进程就可以并入集群

高分布:同一个索引分成多个分片,类似于HDFS的块机制,分而治之的方式来提升处理效率

高可用:一个分片可以设置多个复制,使某台服务器宕机情况下,集群仍可照常运行,并会把由于服务器宕机丢失的复制恢复到其它可用节点上,类似于HDFS的复制机制(HDFS中默认是3份复制)

缺点:

各节点的一致性问题:其默认的机制是通过多播机制,同步元数据信息,但是在比较繁忙的集群中,可能会由于网络的阻塞,或者节点处理能力达到饱和导致各节点元数据不一致——也就是所谓的脑裂问题,这样会使集群处于不一致状态。目前并没有一个彻底的解决方案来解决这个问题,但是可以通过将工作节点与元数据节点分开的部署方案来缓解这种情况。

没有细致的权限管理机制,没有像MySQL那样的分各种用户,有不同的权限。在操作上的限制需要自己开发系统完成

Elasticsearch相关概念

用关系型数据库就会想到建立一张User表,再建字段等,而在Elasticsearch的文件存储,Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式,比如下面这条用户数据

{

    "name" :    “Jack",

    "sex" :      1

    "age" :      25,

    "remark" :  “hello world"

}

Elasticsearch文档映射

映射概述

Elasticsearch的核心概念和关系数据库对比,索引(index)相当于数据库,类型(type)相当于数据表,映射(Mapping)相当于数据表的表结构

映射可以分为动态映射和静态映射 

动态映射

在关系数据库中,需要事先创建数据库,然后在该数据库下创建数据表,并创建表字段、类型、长度、主键等,最后才能基于表插入数据

而Elasticsearch中不需要定义Mapping映射(即关系型数据库的表、字段等),在文档写入Elasticsearch时,会根据文档字段自动识别类型,这种机制称之为动态映射

静态映射

是在Elasticsearch中也可以事先定义好映射,包含文档的各字段类型、分词器等,这种方式称之为静态映射

动态映射规则如下

Elasticsearch基于倒排索引的实现

 

转载地址:http://wvazi.baihongyu.com/

你可能感兴趣的文章
题目:企业SQL面试复习与测试
查看>>
图片的三级缓存机制
查看>>
自定义标签库(Tag library)
查看>>
自定义标签库(Tag library)
查看>>
深入Java集合学习系列(一)
查看>>
深入Java集合学习系列(一)
查看>>
深入Java集合学习系列(二):
查看>>
图解Spring AOP
查看>>
性能调优之Weblogic调优
查看>>
性能调优之性能参数指标
查看>>
POJ3009---冰壶游戏(深搜剪枝+回溯)
查看>>
POJ3669---跳炸弹(广搜)
查看>>
POJ---1384Piggy-Bank (完全背包+装满问题)
查看>>
并查集基础知识
查看>>
POJ1182---食物链(带权并查集~技巧性超强的解法)
查看>>
POJ2492---A Bug's Life(做完食物链,再秒这个)
查看>>
POJ2063---Investment(完全背包)
查看>>
POJ1458---(最长公共子序列最基础题)
查看>>
POJ3356---(最长公共子序列)
查看>>
二叉树基础知识大全(核心理解遍历)
查看>>