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基础的更多相关文章

  1. ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程

    1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id  id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...

  2. Elasticsearch 基础入门

    原文地址:Elasticsearch 基础入门 博客地址:http://www.extlight.com 一.什么是 ElasticSearch ElasticSearch是一个基于 Lucene 的 ...

  3. ElasticSearch 基础 1

    ElasticSearch 基础=============================== 索引创建 ========================== 1. RESTFUL APIAPI 基本 ...

  4. Elasticsearch基础但非常有用的功能之二:模板

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484584&idx=1&sn=accfb65 ...

  5. 最完整的Elasticsearch 基础教程

    翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT)        Ela ...

  6. ELK 之一:ElasticSearch 基础和集群搭建

    一:需求及基础: 场景: 1.开发人员不能登录线上服务器查看详细日志 2.各个系统都有日志,日志数据分散难以查找 3.日志数据量大,查询速度慢,或者数据不够实时 4.一个调用会涉及到多个系统,难以在这 ...

  7. Elasticsearch基础教程

    Reference: http://blog.csdn.net/cnweike/article/details/33736429 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概 ...

  8. elasticsearch基础概念

    接近实时(NRT)        Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒).           集群(clu ...

  9. Elasticsearch基础知识分享

    1. Elasticsearch背景介绍 Elasticsearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elast ...

  10. Elasticsearch基础教程分享

    基础及相关资料 首先我们先了解一下什么是Elastisearch,Elasticsearch(简称es)是一个基于Lucene库的搜索引擎.它提供了一个分布式.支持多租户的全文搜索引擎,具有HTTP  ...

随机推荐

  1. RCA:未注意Curl-library Post 1024以上字节时的HTTP/1.1特性导致 HessianPHP 传输数据失败

    先列出 HessianPHP 的错误提示: CURL transport error: transfer closed with outstanding read data remaining 基础知 ...

  2. 纪念逝去的岁月——C/C++选择排序

    选择排序 代码 #include <stdio.h> void printList(int iList[], int iLen) { ; ; i < iLen; i++) { pri ...

  3. C#读取数据库字节流生成图片

    前台用DataList绑定 <asp:DataList ID="DataList1" runat="server"> <ItemTemplat ...

  4. nodejs高大上的部署方式-PM2

    1.最常用的属nohup了,其实就是在后台执行进程,末尾加个&   [zhoujie@ops-dev ~]$ nohup node /home/zhoujie/ops/app.js & ...

  5. 通过jquery获取ul中第一个li的属性

    当加载列表时,默认希望选中第一条.top_menu 为ul的ID 通过 $("#top_menu li:first") 就可以获取到 ul下第一个li标签.然后就可以利用 例如 修 ...

  6. ICE——1.Printer

    一:打印机 1.Slice定义: interface Printer { void printString(string s); }; 我们的Slice定义含有一个接口,叫作Printer.目前,我们 ...

  7. Hadoop.2.x_WordCount本地测试示例

    代码如下, 后备参考: package com.bigdata.hadoop.hdfs; import java.io.IOException; import org.apache.hadoop.co ...

  8. Daily Scrum 11.5

    今天成员全部到齐,对今天的工作进行了总结,并对明天的工作作了安排.由于先前分配的任务都已基本完成,要完成程序的三级优化是较为艰巨的任务.所以我们讨论决定,除PM外其他成员都投入到程序的优化和改进中去. ...

  9. Linux关闭休眠和屏保模式

    本人因为特殊需求,想让某台Linux主机始终显示某个程序,显示器不能关机或者休眠或进入屏保模式. 环境:Ubuntu 11.10 最小化模式安装并安装有轻量级桌面openbox(非gnome).因为X ...

  10. 词法分析器Antlr

    一.我们都知道编程语言在执行之前需要先进行编译,这样就可以把代码转换成机器识别的语言,这个过程就是编译. 那么它是怎么编译的呢? Java在JVM虚拟机中进行编译,javascript在Js引擎中编译 ...