Elastic Search API Index。简单的介绍了使用Elastic Search 如何建立索引。

ElasticSearch-API-Index

索引创建API允许初始化一个索引。ElasticSearch对多重索引提供了支持,包括跨多个索引执行操作。每个索引在创建时可以让一个特定的设置项与其关联。

最简单的方式创建索引

curl -XPUT ‘http://localhost:9200/twitter/'

在创建索引的时候指定分片和副本数量,参数格式采用YAML格式

curl -XPUT ‘http://localhost:9200/twitter/‘ -d ‘

index:

number_of_shards:3

number_of_replicas:2



在创建索引的时候指定分片和副本数量参数,参数格式采用JSON格式

curl -XPUT ‘http://localhost:9200/twitter/‘ -d ‘{

“settings”:{

“index”:{

“number_of_shards”:3,

“number_of_replicas”:2

}

}

}’

或者简化为

curl -XPUT ‘http://localhost:9200/twitter’ -d ‘{

“settings”:{

“number_of_shards”:3,

“number_of_replicas”:2

}

}’

  • 请注意,你不需要在settings项中显示的指定index。

索引创建API可以接受一个或者一组映射选项

curl -XPOST localhost:9200/test -d ‘{

“settings”:{

“number_of_shards”:1

},

“mappings”:{

“type1”:{

“_source”:{“enabled”:false},

“preperties”:{

“field1”:{“type”:”string”,

”index”:”not_analyzed”

}

}

}

}

}’

REST风格的插入方式。

curl -XPOST http://localhost:9200/索引名称/索引类型/id -d JSON格式的参数

比如插入”twitter”的索引,并且索引类型为tweet

curl -XPUT ‘http://localhost:9200/twitter/tweet/1’ -d ‘{

“user”:”kimchy”,

“post_date”:”2012-12-12”,

“message”:”trying out ElasticSearch!”

}’

添加成功后,其会返回操作状态,索引、类型、id等信息如上例中返回信息

{

"ok" : true,

"_index" : "twitter",

"_type" : "tweet",

"_id" : "1"

}

每一个被索引的文档都会有一个版本号,被关联的版本号会作为index API的请求的响应信息一部分返回回来。因此,我们可以在对索引操作的时候,指定特定的版本号,操作对应版本的文档。例如

curl -XPUT ‘localhost:9200/twitter/tweet/1?version=2’ -d ‘{

“message”:”elasticsearch now has versioning support,double cool!”

}’

*注意 1.版本控制完全是实时的,不会影响接近实时方面的查询操作。如果版本已经被提供了,那么操作执行检查所有的版本。 2.默认情况下,版本从1开始,自增因子为1。

op_type。索引操作也接受参数op_type,用来强制创建索引的操作。如果索引尚未建立的时候,可以接受这样的行为,但是当文档的缩影已经存在的时候,该操作会将失败。 下面是一个op_type参数的例子

curl -XPUT ‘http://localhost:9200/twitter/tweet/1?op_type=create’ -d ‘{

“user”:”kimchy”,

“post_date”:”2014-12-05T14:12:12”,

“message”:”trying out Elastic Searche”

}’

另外的一种create方式

curl -XPUT ‘http://localhost:9200/twitter/tweet/1/_create’ -d ‘{

“user”:”kimchy”,

“post_date”:”2009-11-11T14:12:12”,

“message”:”hello,world”

}’

自动生成Id.在创建一个Index的操作中,如果没有指定id,系统将会自动地为其生成一个id.

curl -XPOST ‘http://localhost:9200/twitter/tweet/‘ -d ‘{

“user”:”kimchy”,

“post_date”:”2013-11-12T12:12:12”,

“message”:”Hello,world”

}’

操作响应的结果如下

{

“ok”:true,

“_index”:”twitter”,

“_type”:”tweet”,

“_id”:”6a8ca01c-7896-48e9-81cc-9f70661fcb32”

}

路由(Routing)。默认情况下,分片或路由是通过计算文档的hash值来控制的,为了更明确的控制值,送入路由器使用hash函数计算hash值的操作可以通过routing参数来控制。

curl -XPOST ‘http://localhost:9200/twitter/tweet?routing=kimchy’ -d ‘{

“user”:”kimchy”,

“post_date”:”2014-12-12T12:12:12”

}’

TTL。一个文档建立索引的时候,能够为其指定ttl。

curl -XPUT 'http://localhost:9200/twitter/tweet/1?ttl=86400000' -d '{

"user": "kimchy",

"message": "Trying out elasticsearch, so far so good?"

}'

curl -XPUT 'http://localhost:9200/twitter/tweet/1?ttl=1d' -d '{

"user": "kimchy",

"message": "Trying out elasticsearch, so far so good?"

}'

curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{

"_ttl": "1d",

"user": "kimchy",

"message": "Trying out elasticsearch, so far so good?"

}'

elasticsearch curl operation的更多相关文章

  1. Elasticsearch CURL命令

    1.查看集群状态 curl '10.18.37.223:9200/_cat/health?v'绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部分数据因为某些原因不可用 2. ...

  2. elasticSearch curl 语法总结

    #创建索引a.put创建curl -XPUT http://localhost:9200/shb01/student/1-d'{"name":"jack",&q ...

  3. 利用kibana学习 elasticsearch restful api (DSL)

    利用kibana学习 elasticsearch restful api (DSL) 1.了解elasticsearch基本概念Index: databaseType: tableDocument: ...

  4. 以bank account 数据为例,认识elasticsearch query 和 filter

    Elasticsearch 查询语言(Query DSL)认识(一) 一.基本认识 查询子句的行为取决于 query context filter context 也就是执行的是查询(query)还是 ...

  5. 分布式搜索引擎Elasticsearch的简单使用

    官方网址:https://www.elastic.co/products/elasticsearch/ 一.特性 1.支持中文分词 2.支持多种数据源的全文检索引擎 3.分布式 4.基于lucene的 ...

  6. ubuntu安装配置elasticSearch(vagrant)

    安装jdk sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java s ...

  7. ELK——安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0

    本文内容 Elasticsearch logstash Kibana 参考资料 本文介绍安装 logstash 2.2.0 和 elasticsearch 2.2.0,操作系统环境版本是 CentOS ...

  8. elasticsearch 安装

    ### USAGE ### ### ./ElasticSearch.sh 1.5.0 will install Elasticsearch 1.5.0 ### ./ElasticSearch.sh 1 ...

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

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

随机推荐

  1. Microsoft SQL Server 2005 Service fails to start

    今天碰到一雷死人的事情,在Windows Server 2012 R2上安装SQL SERVER 2005标准版过程中一直遇到"The SQL Server service failed t ...

  2. YII2 项目安装步骤及异常记录

    项目环境: 操作系统:windows 7 版本管理:git 该项目我是在mac上面创建的,mac上面的环境也是一波三折啊!但我同事的环境是在windows上面,因为是前端同学,所以只好我再次操刀了.. ...

  3. Consul Windows 安装

    下载文件https://www.consul.io/downloads.html, 解压完毕后只有一个consul文件 consul 启动一个 Agent consul agent -server - ...

  4. Fragment调用Activity

    public void onClick(View arg0) { Intent intent = new Intent();                                intent ...

  5. sql server 2012 数据引擎任务调度算法解析(下)

    上次我们说到,sql server 2012的企业版的任务调度流程,一直到给新连接分配了scheduler,都是与以前的版本算法是一致的,只有在进行任务分配的时候,算法才有了细微的调整. 新算法的目的 ...

  6. Linux软连接与硬链接

    软链接 Linux中软链接就像是windows系统中的快捷方式 创建软链接格式:ln -s  源文件全路径 软连接全路径 操作演示: 硬链接 硬链接与软连接不同,它相当于源文件的镜像,源文件改变,硬链 ...

  7. hadoop io PART1

    数据正确性检测的技术,通常使用checksum,在数据进行传输前,计算一个checksum值,传输到目标地之后,再根据新的文件计算checksum值,如果不匹配,则说明数据损坏或被改变.只能校验,不提 ...

  8. web项目log4j的配置模板

    log4j.properties文件: log4j.rootLogger=DEBUG,Console,File   //测试环境 为 debug, 生产时勿必改为info log4j.appender ...

  9. Struts2 自定义MVC框架

    一.Model1与Model2: Model1:就是一种纯jsp开发技术,将业务逻辑代码和视图渲染代码杂糅在一起. Model2:Model2是在Model1的基础上,将业务逻辑的代码分离开来,单独形 ...

  10. 关于包含pom.xml的开源项目如何导入

    1. 开源项目导入eclipse的一般步骤 2. 使用Eclipse构建Maven项目 (step-by-step) 3. 第一次安装和使用maven