ElasticStack学习(五):ElasticSearch索引与分词
一、正排索引与倒排索引
1、什么是正排索引呢?
以一本书为例,一般在书的开始都会有书的目录,目录里面列举了一本书有哪些章节,大概有哪些内容,以及所对应的页码数。这样,我们在查找一些内容时,就可以通过目录来定位到这些内容大概在哪页。因此,书的目录就可以称之为正排索引(目录页)。
2、...[2019/7/12]
supervisor 启动ElasticSearch报错问题supervisor 启动ElasticSearch报错问题
在/etc/elasticsearch/conf.d/新建一个es的配置文件,elasticsearch.conf,这里碰到一个小坑,网上很多文章介绍的是elasticsearch.ini,启动发现找不到elasticsearch,打开/etc upervisor upervisor.conf发现...[2019/7/12]
ElasticStack学习(四):ElasticSearch文档的CRUD使用
一、文档的CRUD介绍
ElasticSearch中存在五种操作,分别如下:
1、Index
该操作表示:如果文档的ID不存在,则创建新的文档。若有相同的ID,先删除现有文档,然后再创建新的文档,同时版本会增加。
语法格式如下:
PUT index_name/_doc/10...[2019/7/11]
ElasticStack学习(三):ElasticSearch基本概念
1、文档
1)ElasticSearch是面向文档的,文档是所有可搜索数据的最小单位。例如:
a)日志文件中的日志项;
b)一张唱片的详细信息;
c)一篇文章中的具体内容;
2)在ElasticSearch中,文档会被序列化成Json格式:
...[2019/7/10]
ElasticSearch 线程池类型分析之 ResizableBlockingQueue 队列分析
ElasticSearch 线程池类型分析之 ResizableBlockingQueue 队列分析
在上一篇文章 ElasticSearch 线程池类型分析之 ExecutorScalingQueue的末尾,谈到了处理ES 搜索操作(search)的线程池的一些实现细节,本文就以下几个问题分析S...[2019/7/8]
ES 21 - Elasticsearch的高级检索语法 (包括term、prefix、wildcard、fuzzy、boost等)
目录
1 term query - 索引词检索
1.1 term query - 不分词检索
1.2 terms query - in检索
2 prefix query - 前缀...[2019/6/28]
ES 20 - 查询Elasticsearch中的数据 (基于DSL的查询, 包括validate、match、bool)
目录
1 什么是DSL
2 _validate - 校验查询语句是否合法
3 match query - 匹配查询
3.1 简单功能示例
3.1.1 查询所有文档
...[2019/6/28]
ES 31 - 从0开始搭建Elasticsearch生产集群ES 31 - 从0开始搭建Elasticsearch生产集群
目录
1 配置环境
1.1 服务器IP映射
1.2 配置各节点的 h免密通信
1.3 安装JDK并配置环境变量
2 部署单节点服务
3 部署集群服...[2019/6/26]
ES 30 - Elasticsearch生产集群的服务器配置建议
目录
1 服务器的内存
2 服务器的CPU
3 服务器的磁盘
4 集群的网络
5 集群的节点个数
6 JVM的参数设置
7 集群的数据量
...[2019/6/25]
ElasticSearch 线程池类型分析之 ExecutorScalingQueueElasticSearch 线程池类型分析之 ExecutorScalingQueue
ElasticSearch 线程池类型分析之 ExecutorScalingQueue
在ElasticSearch 线程池类型分析之SizeBlockingQueue这篇文章中分析了ES的fixed类型的线程池。本文分析scaling类型的线程池,以及该线程池所使用的任务队列:ExecutorS...[2019/6/24]
elasticsearch的keyword与text的区别
es2.*用户可忽略该文章。es 2.*版本里面是没有这两个字段!!!
当初接触es,最惊讶就是他的版本速度发布太快,这次主要讨论keyword与text的区别
在es 2.*版本里面是没有这两个字段,只有string字段。
5.*之后,把string字段设置为了过时字段,引入text,...[2019/6/18]
ElasticSearch 线程池类型分析之SizeBlockingQueue
ElasticSearch 线程池类型分析之SizeBlockingQueue
尽管前面写好几篇ES线程池分析的文章(见文末参考链接),但都不太满意。但从ES的线程池中了解到了不少JAVA线程池的使用技巧,于是忍不住再写一篇(ES6.3.2版本的源码)。文中给出的每个代码片断,都标明了这些代码是来...[2019/6/17]
Elasticsearch搜索调优权威指南 (1/3)
本文首发于 vivo互联网技术 微信公众号 https: mp.weixin.qq.com qwkZKLb_ghmlwrqMkqlb7Q英文原文:https: qbox.io/blog/elasticsearch-search-tuning-5-0-ultimate-guide作者:Adam ...[2019/6/13]
ElasticSearch中碰到的C10K问题ElasticSearch中碰到的C10K问题
Elasticsearch基于Netty解决C10K问题背后的原理是JAVA NIO中的IO多路复用机制,涉及到三大"组件":SelectableChannel、Selector、SelectionKey。普通的"一请求一线程"方式,有一个线程负责accep...[2019/5/21]
Centos7安装ElasticSearch 6.4.1入门教程详解
1.下载ElasticSearch 6.4.1安装包 下载地址:
https: artifacts.elastic.co/download elasticsearch/elasticsearch-6.4.1.tar.gz
2.解压压缩包
[root@localhost Ela...[2019/5/17]
搜索引擎框架之ElasticSearch基础详解
文章大纲
一、搜索引擎框架基础介绍二、ElasticSearch的简介三、ElasticSearch安装(Windows版本)四、ElasticSearch操作客户端工具--Kibana五、ES的常用命令六、Java连接ElasticSearch进行数据操作七、项目源码与参考资料下载八、参考文章
...[2019/5/14]
Elasticsearch源码分析 - 源码构建
原文地址:https: mp.weixin.qq.com ?__biz=MzU2Njg5Nzk0NQ==&mid=2247483694&idx=1&sn=bd03afe5ab798b4732c1a3457d60c53b
本篇介绍一下如何从源码构建Elasticsear...[2019/4/30]
ES 19 - Elasticsearch的检索语法(_search API的使用)ES 19 - Elasticsearch的检索语法(_search API的使用)
目录
1 Search API的基本用法
1.1 查询所有数据
1.2 响应信息说明
1.3 timeout超时机制
1.4 查询多索引和多类型中的数据
...[2019/4/29]
Python对ElasticSearch获取数据及操作
使用Python对ElasticSearch获取数据及操作,供大家参考,具体内容如下
Version
Python :2.7
ElasticSearch:6.3
代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-...[2019/4/24]
Centos7部署elasticsearch并且安装ik分词以及插件kibana
第一步
下载对应的安装包
elasticsearch下载地址:https: www.elastic.co/cn/download elasticsearch
ik分词下载:https: github.com/medcl/elasticsearch-analysis-ik/tags
...[2019/4/22]
ES 18 - (底层原理) Elasticsearch写入索引数据的过程 以及优化写入过程
目录
1 Lucene操作document的流程
1.1 添加document的流程
1.2 删除document的流程
2 优化写入流程 - 实现近实时搜索
2...[2019/4/19]
elasticsearch6.7 05. Document APIs(5)Delete By Query API
4、Delete By Query API
_delete_by_query API可以删除某个匹配条件的文档:
POST twitter/_delete_by_query
{
"query": {
"match": {
&quo...[2019/4/15]
elasticsearch6.7 05. Document APIs(6)UPDATE API
5、 UPDATE API
更新操作可以使用脚本来更新。更新的时候会先从索引中获取文档数据(在每个分片中的集合),然后运行脚本(使用可选的脚本语言和参数),再果进行索引(还允许删除或忽略该操作)。它使用版本号保证在读取文档和重新索引期间,被更新的文档不会发生任何修改操作。
注意,update操作...[2019/4/15]
elasticsearch6.7 05. Document APIs(7)Update By Query API
6、Update By Query API
_update_by_query 接口可以在不改变 source 的情况下对 index 中的每个文档进行更新。这对于获取新属性或其他联机映射更改很有用。以下是 API:
POST twitter/_update_by_query?conflicts=...[2019/4/15]
elasticsearch6.7 05. Document APIs(9)Bulk API
8、Bulk API
可以把多个index或delete操作放在单个bulk API中执行。这样可以极大地提高索引速度。
/_bulkAPI使用如下的JSON结构:
action_and_meta_data\n
optional_source\n
action_and_meta_data\n
...[2019/4/15]
elasticsearch6.7 05. Document APIs(10)Reindex API
9、REINDEX API
Reindex要求为源索引中的所有文档启用_source。
reindex 不会配置目标索引,不会复制源索引的设置。你需要在reindex之前先指定mapping,分片数量,副本数量等选项。
_reindex最常用的一种方式是复制一个索引。下例会将twitt...[2019/4/15]
ES 16 - 对Elasticsearch中的索引数据进行增删改查 (CRUD)
目录
1 创建document
1.1 创建时手动指定id
1.2 创建时自动生成id
2 查看document
2.1 根据id查询文档
2.2...[2019/4/15]
ES 17 - (底层原理) Elasticsearch增删改查索引数据的过程
目录
1 增删改document的流程
1.1 协调节点 - Coordinating Node
1.2 增删改document的流程
2 查询document的流程
...[2019/4/15]
ES 14 - (底层原理) Elasticsearch内部如何处理不同type的数据
目录
1 type的作用
2 type的底层数据结构
3 探究type的存储结构
3.1 创建索引并配置映射
3.2 添加数据
3.3 查看存储结构
...[2019/4/12]
ES 15 - Elasticsearch中的数据类型 (text、keyword、date、geo等)
目录
1 核心数据类型
1.1 字符串类型 - string(不再支持)
1.1.1 文本类型 - text
1.1.2 关键字类型 - keyword
1.2 ...[2019/4/12]
ES 13 - Elasticsearch的元字段(_index、_type、_source、_routing等)
目录
1 标识元字段
1.1 _index - 文档所属的索引
1.2 _uid - 包含_type和_id的复合字段
1.3 _type - 文档的类型
1.4 _id - 文档...[2019/4/10]