elasticsearch基础
elastic使用lucene建立索引的步骤中,需要文件系统缓存需要同步到磁盘上。(多个segment->commit文件来维护)
当建立历史数据时,并不要求太高的实时性时,可以减小(默认1s)自动刷新时间。
curl -XPOST http://127.0.0.1:9300/logstash-2016.12.19/_settings -d '{"refresh_interval":"10s"}'
如需关闭
curl -XPOST http://127.0.0.1:9300/logstash-2016.12.19/_settings -d '{"refresh_interval":"-1"}'
translog保证索引的一致性。elastic中的update,insert等写操作完成,一定会触发translog到磁盘上,然后再返回200。这个过程会损失一点性能。
如果不考虑这些,希望性能优先,可以在index template中设置 index.translog.durability:async
lucene的思路就是开新文件。默认1s就有一个文件产生。ES会不断在后台merge segment。
并不是所有大小的segment都会被merge,考虑性能的问题,大于5G的segment不会被merge。一般采用的策略是负载较低的时候通过forcemerge接口归并。
curl -XPOST http://127.0.0.1:9300/logstash-2016.12.19/_forcemerge?max_num_segments=1
_forcemerge对资源消耗比一般的多。
route和replica的过程:
每条数据都有一个routing值,默认是_id。
shard = hash(routing)% number_of_primary_shards
这个运算决定了数据被分配到的分片。一般分片数不能随意改,不然会导致路由不对。
5节点集群。副本1个,索引主分片10。每个节点分配4个分片。但配置的时候要多一点,因为机器可能出故障。
elasticsearch crud:
create: curl -XPOST http://127.0.0.1:9200/logstash-2015.06.10/testlog -d '{name:"test", age:11}' 返回值会带_id假设为_id1
read: curl -XGET http://127.0.0.1:9200/logstash-2015.06.10/testlog/_id1
delete: curl -XDELETE http://127.0.0.1:9200/logstash-2015.06.10/testlog/_id1 支持通配符
update: curl -XPOST http://127.0.0.1:9200/logstash-2015.06.10/testlog/_id1 -d '{name:"test", age:11}'
或者 curl -XPOST http://127.0.0.1:9200/logstash-2015.06.10/testlog/_id1/_update -d '{doc: { "name": "test1"} }'
或者 curl -XPOST http://127.0.0.1:9200/logstash-2015.06.10/testlog/_id1/_update -d '{script: "ctx._source.name = \"test1\"" }'
search:
curl -XGET http://127.0.0.1:9200/logstash-2015.06.10/testlog/_search?q=name:"test"
NOT AND OR组合搜索 必须大写
比如user:("test1" OR "test2") AND NOT mesg:first;
_exits_要求存在 _missing_:user 要求不存在
聚合:1.0之前叫做facet,1.0之后叫做aggregation
elasticsearch基础的更多相关文章
- ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程
1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...
- Elasticsearch 基础入门
原文地址:Elasticsearch 基础入门 博客地址:http://www.extlight.com 一.什么是 ElasticSearch ElasticSearch是一个基于 Lucene 的 ...
- ElasticSearch 基础 1
ElasticSearch 基础=============================== 索引创建 ========================== 1. RESTFUL APIAPI 基本 ...
- Elasticsearch基础但非常有用的功能之二:模板
文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484584&idx=1&sn=accfb65 ...
- 最完整的Elasticsearch 基础教程
翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Ela ...
- ELK 之一:ElasticSearch 基础和集群搭建
一:需求及基础: 场景: 1.开发人员不能登录线上服务器查看详细日志 2.各个系统都有日志,日志数据分散难以查找 3.日志数据量大,查询速度慢,或者数据不够实时 4.一个调用会涉及到多个系统,难以在这 ...
- Elasticsearch基础教程
Reference: http://blog.csdn.net/cnweike/article/details/33736429 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概 ...
- elasticsearch基础概念
接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒). 集群(clu ...
- Elasticsearch基础知识分享
1. Elasticsearch背景介绍 Elasticsearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elast ...
- Elasticsearch基础教程分享
基础及相关资料 首先我们先了解一下什么是Elastisearch,Elasticsearch(简称es)是一个基于Lucene库的搜索引擎.它提供了一个分布式.支持多租户的全文搜索引擎,具有HTTP ...
随机推荐
- 七、考反映小游戏《苹果iOS实例编程入门教程》
该app为应用的功能为一个简单的考反应游戏 纲要:-UIButton, UILabel, UIImageView 的运用:-利用rendom增加游戏可玩性: 游戏说明: 在按下开始游戏后,分为三盏的指 ...
- 关于VSS上的项目源码管理的注意问题
1.将项目添加到vss上面去 如果项目取的名字没有问题,则不需要去vss上面去新建项目,直接在解决方案那里右击“添加到vss”中,把第一个输入框中的名字(xxxx.root)全部清除掉.确定即可. 2 ...
- ICE——1.Printer
一:打印机 1.Slice定义: interface Printer { void printString(string s); }; 我们的Slice定义含有一个接口,叫作Printer.目前,我们 ...
- 理解CSS3 transform中的Matrix(矩阵)
一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如“拉普拉斯不等式”).这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面“Matrix(矩阵) ...
- jquery中对动态生成的标签响应click事件(二)…与ajax交互使用
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncodin ...
- redis发布订阅
命令 : redis-cli打开一个客户端 Redis Psubscribe 命令订阅一个或多个符合给定模式的频道. 每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.n ...
- spring security 匿名登录
匿名登录,即用户尚未登录系统,系统会为所有未登录的用户分配一个匿名用户,这个用户也拥有自己的权限,不过他是不能访问任何被保护资源的. 设置一个匿名用户的好处是,我们在进行权限判断时,可以保证Secur ...
- 示例Oracle 10.2.0.1.0升级到10.2.0.4.0一例
1.查看当前系统版本 [oracle@std Disk1]$ sqlplus '/as sysdba' SQL*Plus: Release - Production on Thu Jan :: Cop ...
- SSH环境 jsp url跳转,带中文参数乱码问题
URL中编码格式为ISO-8859-1,处理中文只需将编码格式转换ISO-8859-1 方法一: http://xxx.do?ptname='我是中国人' String strPtname = req ...
- php读取指定结束指针文件内容
fopen操作时文件读取开始指针位于文件开始部分, fseek 以指定文件大小以及开始指针位置确定结束指针位置 具体案例: <?php//打开文件流,fopen不会把文件整个加载到内存$f = ...