elasticsearch5安装

来源:互联网 发布:wan微型端口 ipv6 编辑:程序博客网 时间:2024/06/04 18:59

安装es:http://www.jianshu.com/p/a4d236ed17c3


安装head:http://blog.csdn.net/u013066244/article/details/63279337


最后将head/_site/app.js 中的localhost改成自己的ip就行了



分片

主分片

副本分片

索引(index)

类型(type)

id


一旦文档被存储在Elasticsearch中,它就可以在集群的任一节点上被检索

每一个字段的数据都是默认被索引的,也就是说,每个字段专门有一个反向索引用于快速检索

我们的数据被存储和索引在分片(shards)中,索引只是一个把一个或多个分片分组在一起的逻辑空间


replication

复制默认的值是sync。这将导致主分片得到复制分片的成功响应后才返回。

如果你设置replicationasync,请求在主分片上被执行后就会返回给客户端。它依旧会转发请求给复制节点,但你将不知道复制节点成功与否。

+

上面的这个选项不建议使用。默认的sync复制允许Elasticsearch强制反馈传输。async复制可能会因为在不等待其它分片就绪的情况下发送过多的请求而使Elasticsearch过载。


~~~~~~~~~

乐观锁:

跟新文档时,如果担心高并发问题可以这样:

PUT /website/blog/1?version=1 <1>{  "title": "My first blog entry",  "text":  "Starting to get the hang of this..."}
指定版本,如果版本不一致,更新失败

响应体类似这样:

{  "error" : "VersionConflictEngineException[[website][2] [blog][1]:             version conflict, current [2], provided [1]]",  "status" : 409}

所有更新和删除文档的请求都接受version参数,它可以允许在你的代码中增加乐观锁控制



put 方法常用于更新

  如果已经存在,就不添加,可以用  curl -XPUT 'http://master:9200/people/stu/1?op_type=create' -d {},这样就不会覆盖已经存在的了

post方法常用于新增


mapping

string类型的字段,默认的,考虑到包含全文本,它们的值在索引前要经过分析器分析,并且在全文搜索此字段前要把查询语句做分析处理。

我们可以给新添加的字段添加映射,但不能改变已经存在的映射类型:

我们可以更新一个映射来增加一个新字段,但是不能把已有字段的类型那个从analyzed改到not_analyzed

PUT /gb/_mapping/tweet{  "properties" : {    "tag" : {      "type" :    "string",      "index":    "not_analyzed"    }  }}



原创粉丝点击