elasticsearch curl operation
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的更多相关文章
- Elasticsearch CURL命令
1.查看集群状态 curl '10.18.37.223:9200/_cat/health?v'绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部分数据因为某些原因不可用 2. ...
- elasticSearch curl 语法总结
#创建索引a.put创建curl -XPUT http://localhost:9200/shb01/student/1-d'{"name":"jack",&q ...
- 利用kibana学习 elasticsearch restful api (DSL)
利用kibana学习 elasticsearch restful api (DSL) 1.了解elasticsearch基本概念Index: databaseType: tableDocument: ...
- 以bank account 数据为例,认识elasticsearch query 和 filter
Elasticsearch 查询语言(Query DSL)认识(一) 一.基本认识 查询子句的行为取决于 query context filter context 也就是执行的是查询(query)还是 ...
- 分布式搜索引擎Elasticsearch的简单使用
官方网址:https://www.elastic.co/products/elasticsearch/ 一.特性 1.支持中文分词 2.支持多种数据源的全文检索引擎 3.分布式 4.基于lucene的 ...
- ubuntu安装配置elasticSearch(vagrant)
安装jdk sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java s ...
- ELK——安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0
本文内容 Elasticsearch logstash Kibana 参考资料 本文介绍安装 logstash 2.2.0 和 elasticsearch 2.2.0,操作系统环境版本是 CentOS ...
- elasticsearch 安装
### USAGE ### ### ./ElasticSearch.sh 1.5.0 will install Elasticsearch 1.5.0 ### ./ElasticSearch.sh 1 ...
- ELK 之一:ElasticSearch 基础和集群搭建
一:需求及基础: 场景: 1.开发人员不能登录线上服务器查看详细日志 2.各个系统都有日志,日志数据分散难以查找 3.日志数据量大,查询速度慢,或者数据不够实时 4.一个调用会涉及到多个系统,难以在这 ...
随机推荐
- db2start启动失败
db2start启动失败 [db2inst1@localhost ~]$ db2start db2start: error while loading shared libraries: libaio ...
- 关于Java中枚举Enum的深入剖析
在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定.Java也不例外.Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析. 什么是Enum Enum是自Java ...
- [Java入门笔记] Java语言基础(三):运算符
简介 运算符是一种特殊的符号,运算符是通过一定的运算规则操作一个或多个操作数,并生成结果的特定符号,运算符和操作数的有效组合称为表达式. Java中运算符主要分为以下几类: 赋值运算符 算术运算符 关 ...
- Linux Daemon进程
模型 创建孤儿进程 fork() 创建新的会话 setid() 改变当前目录为根目录chdir() 重设文件权限掩码umask() 关闭文件描述符close() 创建孤儿进程 创建孤儿进程只需要将父进 ...
- x01.os.19: linux 0.0
linux 0.0 是一个丢失的版本,但赵炯老师又在 linux 0.11 的基础上,使它起死回生.www.oldlinux.org 有大量资源可供下载,值得一看. 1.要编译运行,首先需安装:sud ...
- switch与ifelse的效率问题
switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的.从而,swi ...
- Window下python2.7+Apache+mod_wsgi+Django服务器配置
前言:试着使用python搭建一个网页,分别在windows下和linux下,本篇文章主要讲解Window下python+Apache+mod_wsgi+Django服务器配置过程中遇见的问题和解决方 ...
- [WPF系列]-基础系列 TabControl应用
引言 Tabcontrol控件也是我们在项目中经常用到的一个控件,用它将相关的信息组织在一起分类显示. 简介 ========================================= ...
- 解决:PADS导入.DXF结构图出现坐标超出范围问题
现象: 原因: PCB尺寸是有限的,PADS中对于坐标大小有所限制,但AUTO CAD中的坐标却是无限制的. 解决方法: 1.在AUTO中使用M命令,将绘制的结构图移动至原点: 2.在AUTO中使用W ...
- vi快捷键
/** * eclipse内置快捷: * * * 导入包:Ctrl+Shift+O * Ctrl+T 查看一个类的继承关系树,是自顶向下的,再多按一次Ctrl+T, 会换成自底向上的显示结构. 提示: ...