Elasticsearch系列---补充几个知识点】的更多相关文章

概要 bulk api有趣的json格式 前面<简单入门实战>一节中,有介绍bulk的使用示例,大家一定很奇怪,还有这么有趣的JSON格式,必须严格照他的换行来做,我想把JSON搞得美观可读性好一点,居然给我报错! {"action": {"meta"}}\n {"data"}\n {"action": {"meta"}}\n {"data"}\n 它为什么要这样规定? 我们…
Atitit s2018.6 s6  doc list on com pc.docx Atitit s2018.6 s6  doc list on com pc.docx  Aitit algo fix 算法系列补充.docx Atiitt 兼容性提示的艺术 attilax总结.docx Atitit    应用程序容器化总结 v2 s66.docx Atitit   file cms api  uke  api.docx Atitit  docker useage.docx Atitit  E…
javacpp-ffmpeg系列: javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片 javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转换为YUV.BGR24或RGB24等图像像素数据 javacpp-FFmpeg系列之3: 图像数据转换(BGR与BufferdImage互转,RGB与BufferdImage互转) 补充: javacpp-FFmpeg系列补充:FFmpeg解决avformat_find_stream_info检索时…
javacpp-ffmpeg系列: javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片 javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转换为YUV.BGR24或RGB24等图像像素数据 javacpp-FFmpeg系列之3: 图像数据转换(BGR与BufferdImage互转,RGB与BufferdImage互转) 补充: javacpp-FFmpeg系列补充:FFmpeg解决avformat_find_stream_info检索时…
[MQ 系列]RabbitMq 核心知识点小结 以下内容,部分取材于官方教程,部分来源网络博主的分享,如有兴趣了解更多详细的知识点,可以在本文最后的文章列表中获取原地址 RabbitMQ 是一个基于 AMQP 协议实现的企业级消息系统,想要顺畅的玩耍的前提是得先了解它,本文将主要介绍 rabbitmq 的一些基本知识点 特点 基本概念 消息投递消费的几种姿势 事务 集群 I. 基本知识点 它是采用 Erlang 语言实现的 AMQP(Advanced Message Queued Protoco…
系列文章列表 Query DSL Query DSL 概要,MatchAllQuery,全文查询简述 Match Query Match Phrase Query 和 Match Phrase Prefix Query Multi Match Query Java Rest Client API Elasticsearch Java Rest Client API 整理总结 (一)--Document API Elasticsearch Java Rest Client API 整理总结 (二)…
原文链接:http://www.cnblogs.com/ityouknow/p/6482464.html jvm 总体梳理 jvm体系总体分四大块: 类的加载机制 jvm内存结构 GC算法 垃圾回收 GC分析 命令调优 当然这些知识点在之前的文章中都有详细的介绍,这里只做主干的梳理 类的加载机制 主要关注点: 什么是类的加载 类的生命周期 类加载器 双亲委派模型 什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个ja…
概要 本篇主要介绍Elasticsearch的数据索引时的分片机制,集群发现机制,primary shard与replica shard是如何分工合作的,如何对集群扩容,以及集群的容错机制. 分片机制 前面基本概念一节中,我们有提到建立索引时,会自动将数据拆分到多个分片(shard)中,默认数量是5,这个就是索引数据分片机制.我们在往Elasticsearch集群插入数据,并没有关心过数据最终落地到哪个shard上,这个过程对客户端来讲是透明的. document路由原理 document要存储…
概要 本篇从介绍搜索分页为起点,简单阐述分页式数据搜索与原有集中式数据搜索思维方式的差异,就分页问题对deep paging问题的现象进行分析,最后介绍分页式系统top N的案例. 搜索分页语法 Elasticsearch中search语法有from和size两个参数用来实现分页的效果: size:显示应该返回的结果数量,默认是10. from:显示查询数据的偏移量,即应该跳过的初始结果数量,默认是0. from和size这两个参数的含义和MySql使用limit关键字分页的参数含义是一样的.…
前言 我们使用Elasticsearch索引文档时,最理想的情况是文档JSON结构是确定的,数据源源不断地灌进来即可,但实际情况中,没人能够阻拦需求的变更,在项目的某个版本,可能会对原有的文档结构造成冲击,增加新的字段还好,如果要修改原有的字段,只能重建索引了. 概要 本篇以实战方式讲解如何零停机完成索引重建的三种方案. 外部数据导入方案 整体介绍 系统架构设计中,有关系型数据库用来存储数据,Elasticsearch在系统架构里起到查询加速的作用,如果遇到索引重建的操作,待系统模块发布新版本后…
概要 本篇主要讲解倒排索引的基本原理以及ES常用的几种分词器介绍. 倒排索引的建立过程 倒排索引是搜索引擎中常见的索引方法,用来存储在全文搜索下某个单词在一个文档中存储位置的映射.通过倒排索引,我们输入一个关键词,可以非常快地获取包含这个关键词的文档列表. 我们先看英文的,假设我们有两个文档: I have a friend who loves smile love me, I love you 为了建立倒排索引,我们先按最简单的用空格把每个单词分开,可以得到如下结果: *表示该列文档中有这个词…
概要 本篇我们来看看shard内部的一些操作原理,了解一下人家是怎么玩的. 倒排索引 倒排索引的结构,是非常适合用来做搜索的,Elasticsearch会为索引的每个index为analyzed的字段建立倒排索引. 基本结构 倒排索引包含以下几个部分: 某个关键词的doc list 某个关键词的所有doc的数量IDF(inverse document frequency) 某个关键词在每个doc中出现的次数:TF(term frequency) 某个关键词在这个doc中的次序 每个doc的长度:…
前言 前面的案例使用standard.english分词器,是英文原生的分词器,对中文分词支持不太好.中文作为全球最优美.最复杂的语言,目前中文分词器较多,ik-analyzer.结巴中文分词.THULAC.NLPIR和阿里的aliws都是非常优秀的,我们以ik-analyzer作为讲解的重点,其它分词器可以举一反三. 概要 本篇主要介绍中文分词器ik-analyzer的安装使用.自定义词库以及热更新方案. 分词器插件安装 我们Elasticsearch 6.3.1版本为例,集成IK分词器,其他…
概要 本篇开始介绍Elasticsearch生产集群的搭建及相关参数的配置. ES集群的硬件特性 我们从开始编程就接触过各种各样的组件,而每种功能的组件,对硬件要求的特性都不太相同,有的需要很强的CPU计算能力,有的对内存需求量大,有的对网卡要求高等待,下面我们讨论一下ES集群对几种硬件的特性需求. CPU ES集群对CPU的要求相对低一些,毕竟纯计算的比重要小一些,选用主流的CPU,2核到8核的都可以. 如果有两种CPU可以挑选,一种是主频高但核数少的CPU,另一种是主频一般核数多的CPU,肯…
前言 生产环境中运行的组件,只要有数据存储,定时备份.灾难恢复是必修课,mysql数据库的备份方案已经非常成熟,Elasticsearch也同样有成熟的数据备份.恢复方案,我们来了解一下. 概要 本篇介绍Elasticsearch生产集群数据的数据备份.恢复和升级的常规操作. curl命令 curl是Linux操作的必备工具,Elasticsearch生产环境的搭建,不能保证都能使用kibana访问到,而Elasticsearch Restful API都可以使用curl工具来完成访问. 使用c…
概要 索引是我们使用Elasticsearch里最频繁的部分日常的操作都与索引有关,本篇从运维人员的视角,来玩一玩Elasticsearch的索引操作. 基本操作 在运维童鞋的视角里,索引的日常操作除了CRUD,还是打开关闭.压缩.alias重置,我们来了解一下. 创建索引 [esuser@elasticsearch02 ~]$curl -XPUT 'http://elasticsearch02:9200/music?pretty' -H 'Content-Type: application/j…
elasticsearch(以下简称es)是一款开源的搜索引擎,基于apach lucene.最近在做nlp的时候顺便研究一下. 下面是官方列举的术语解释 Near Realtime 接近实时的查询,通常情况下,延迟在1s以内 Cluster 一个集群由1个或者多个节点组成,这些节点提供整个数据和索引,性能来源于每个节点.一个集群有一个唯一的名字,默认为"elasticsearch", Node 一个node启动的时候分配一个唯一的id(UUID),自动会加入名为"elast…
首先ES没有库和表的概念,只有index,type,document(详细术语可以看ES的系列一 http://www.cnblogs.com/ulysses-you/p/6736926.html),如果要加快理解的话,可以和一般关系型数据库做简单映射 下面是对这些概念的理解 Index 1.ES的index中shards相当于lucene的indices,而lucene的indices会拥有固定的磁盘空间,内容和文件描述,所以不能无脑新建ES的index,数据量大的1个index比多个小的in…
本文采用tar包的方式部署es 准备jdk8的环境 5.4.0的es依赖jdk8及以上版本 下载linux版的jdk jdk-8u121-linux-x64.tar.gz tar -zvxf jdk-8u121-linux-x64.tar.gz //修改环境变量 vim /etc/profile //添加如下 JAVA_HOME=/usr/java/jdk1.8.0_121 export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH ex…
概述 score在ES中有着很重要的作用,有了它才有了rank,是验证文档相关性的关键数据,score越大代表匹配到的文档相关性越大 官方解释 查询的时候可以用explain来展示score的计算过程,也可以增加format=yaml来讲json转成yaml方便阅读 类似xxx/_search?explain&format=yaml 下图是通过explain看到的一部分json,其实这个解释中就展示出了计算公式,不得不说ES在这点上还是很人性化的 计算方式 常说的相关性是指计算一个全文(full…
一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. Elasticsearch 不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储,每个字段可以被索引与搜索——作数据库用 一个分布式实…
一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个副本? 下面我们就来分析和回答这几个问题 1.我们需要多大规模的集群? 需要从以下两个方面考虑: 1.1 当前的数据量有多大?数据增长情况如何?1.2 你的机器配置如何?cpu.多大内存.多大硬盘容量? 推算的依据: ES JVM heap 最大可以设置32G . 30G heap 大概能处理的数据…
一.ES Client 简介 1. ES是一个服务,采用C/S结构 2. 回顾 ES的架构 3. ES支持的客户端连接方式 3.1 REST API ,端口 9200 这种连接方式对应于架构图中的RESTful style API这一层,这种客户端的连接方式是RESTful风格的,使用http的方式进行连接 3.2 Transport 连接 端口 9300 这种连接方式对应于架构图中的Transport这一层,这种客户端连接方式是直接连接ES的节点,使用TCP的方式进行连接 4. ES提供了多种…
系统环境 操作系统:CentOS 6.9 Elasticsearch:6.2.2 Filebeat:6.2.2(收集IIS日志) Kibana:6.2.2 Java:Java 8 注意:elk最好选择rpm包安装,会省略很多默认配置. 安装步骤 1,安装预环境 运行以下命令安装预环境. [root@redis02 redis-4.0.2]# yum -y install gcc make 2,安装Java 8 运行以下命令:[root@linuxcast ~]# rpm -qa | grep j…
官方定义 Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据. 它被用作全文检索.结构化搜索.分析以及这三个功能的组合. Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API.它可以被这样准备地形容: 一个分布式的实时文档存储,每个字段 可以被索引与搜索 一个分布式…
docker 技术已经研究了一段时间, 基本的知识点和使用场景比较清楚了, 还有一些比较高阶的内容未曾尝试, 将来工作中如果能用到, 再深入研究吧. 这篇博文汇总了一些有用的文章链接. =======================书籍=======================Docker 从入门到精通 https://yeasy.gitbooks.io/docker_practice/content/introduction/why.html 这可能是最为详细的Docker入门吐血总结ht…
Kibana是Elastic Stack家族内的一部分,它是一个管理网站,与ES(Elastic Search)集成可以用来管理ES的索引,除ES外它还可以跟Elastic家族的其他组件进行整合如logstash.Elasticsearch-Hadoop等. 相比我们之前讲过的elasticsearch-head,Kibana的功能要强大的多,更重要的是,Kibana为初学者准备了13059条的航班线路数据供我们使用. 1. 下载 标准版: https://artifacts.elastic.c…
一. 位置 ES的配置文件位于安装目录\config下面,主要有 (1) elasticsearch.yml ES系统的配置: (2) jvm.options Java虚拟机配置: (3) log4j2.properties log4j2日志的配置文件. 值得注意的是ES支持环境变量的配置方式,例如: node.name: ${HOSTNAME} 当ES启动时,会将${HOSTNAME}替换成环境变量中的值,这种方式在容器环境下非常有用. 二. jvm.options 1. jvm.option…
elasticsearch-head是elasticsearch的一个管理页面,它的官网是https://github.com/mobz/elasticsearch-head 通过官网我们得知,ES5.0之前都是通过插件的方式安装head,从5.0开始不再支持head插件,5.0以上有三种方式安装elasticsearch-head: (1) 创建elasticsearch-head的node.js站点,通过该站点来维护ES: (2) 如果你有docker环境,可以通过安装docker镜像来管理…
在Windows环境下,ES提供了两种安装方式,一种是通过MSI,特点是简单方便:另一种是绿色安装,解压zip包.本文选择第二种方式. 1. 准备工作 (1) Windows 10 (2) JDK 1.8,并设置了JAVA_HOME环境变量,可参考我之前的文章 (3) Elasticsearch 6.4.1,下载地址 2. 安装 (1) 解压 下载完elasticsearch-6.4.1.zip之后,将内容解压到D:\Program Files\elasticsearch下. (2) 设置环境变…