Elasticsearch使用REST API实现全文检索
通过rest api添加检索数据,阅读官方文档可以发现,elasticsearch支持动态映射,但是其中有不少问题,且听慢慢详解。
本文主要讲述三点内容:
1 Elasticsearch常用的rest api
2 Elasticsearch使用bulk命令添加索引数据
ES REST API
elasticsearch支持通过http请求响应服务,因此通过curl命令,可以发送http请求,并得到json返回内容。
常用的rest请求包括:
检查ES集群状态:
curl localhost:9200/_cat/health?v
检查ES节点状态:
curl localhost:9200/_cat/nodes?v
查询所有的索引:
curl localhost:9200/_cat/indices?v
创建索引(这种方式在4.1版本下会出现问题,下一小节再说):
curl -XPUT localhost:9200/索引名字/类型/id -d {"name":"xingoo"}
删除索引:
curl -XDELETE localhost:9200/索引名字
查询索引:
curl -XGET localhost:9200/索引名字/类型名字/id
ES 使用bulk 添加数据
动态映射无法添加数据,不要担心!可以使用bulk命令,添加json文件内的数据。
1 定义json数据文件:
{"index":{"_index":"aaa123","_id":1}}
{"name":"xingoo","age":25}
{"index":{"_index":"aaa123","_id":2}}
{"name":"test111","age":31}
{"index":{"_index":"aaa123","_id":3}}
{"name":"test222","age":42}
{"index":{"_index":"aaa123","_id":4}}
{"name":"test333","age":13}
注意的是,json文件名称随意指定,第一行定义了索引和一些常用字段:
_index定义了索引的名称,如果没有指定需要在curl命令中添加索引名称字段
_type定义了索引的类型,如果没有指定需要在curl命令中添加索引类型字段
_id定义了该行数据的id,如果没有指定,会随机生成一串数字。
2 执行命令
进入到json文件所在的目录,执行命令
curl localhost:9200/索引名称/索引类型/_bulk?pretty --data-binary @data.json
注意的是:
如果json文件中定义了_index和_type,那么这里可以不写变成(即便写了也会按照json文件中的生成)
curl localhost:9200/_bulk?pretty --data-binary @data.json
类似的,如果按照上面我们定义了_index却没有定义_type,那么索引会是aaa123,类型为我们curl命令中指定的类型。

可以看到上面虽然指定了索引名称为bbb123,类型为ccc123,但是json文件中指定了索引名称为aaa123。
最后的索引文件中,索引名称为aaa123,类型为ccc123。
查询索引状态,可以发现正常了。

Elasticsearch使用REST API实现全文检索的更多相关文章
- elasticsearch中的API
elasticsearch中的API es中的API按照大类分为下面几种: 文档API: 提供对文档的增删改查操作 搜索API: 提供对文档进行某个字段的查询 索引API: 提供对索引进行操作 查看A ...
- Elasticsearch利用cat api快速查看集群状态、内存、磁盘使用情况
使用场景 当Elasticsearch集群中有节点挂掉,我们可以去查看集群的日志信息查找错误,不过在查找错误日志之前,我们可以通过elasticsearch的cat api简单判断下各个节点的状态,包 ...
- Elasticsearch for python API模块化封装
Elasticsearch for python API模块化封装 模块的具体功能 检测Elasticsearch节点是否畅通 查询Elasticsearch节点健康状态 查询包含的关键字的日志(展示 ...
- Springboot整合elasticSearch的官方API实例
前言:在上一篇博客中,我介绍了从零开始安装ElasticSearch,es是可以理解为一个操作数据的中间件,可以把它作为数据的存储仓库来对待,它具备强大的吞吐能力和计算能力,其基于Lucene服务器开 ...
- Elasticsearch中JAVA API的使用
1.Elasticsearch中Java API的简介 Elasticsearch 的Java API 提供了非常便捷的方法来索引和查询数据等. 通过添加jar包,不需要编写HTTP层的代码就可以开始 ...
- 使用Java操作Elasticsearch(Elasticsearch的java api使用)
1.Elasticsearch是基于Lucene开发的一个分布式全文检索框架,向Elasticsearch中存储和从Elasticsearch中查询,格式是json. 索引index,相当于数据库中的 ...
- elasticsearch【cat API,系统数据】指令汇总
本博文讲述的ES获取系统数据的API是基于Elasticsearch 2.4.1版本的. 0. overview a. 下面将要介绍的所有的指令,都支持一个查询参数v(verbose),用来显示详细的 ...
- 【重新分配分片】Elasticsearch通过reroute api重新分配分片
elasticsearch可以通过reroute api来手动进行索引分片的分配. 不过要想完全手动,必须先把cluster.routing.allocation.disable_allocation ...
- ElasticSearch 2 (4) - API Convention
ElasticSearch 2.1.1 (4) - API Convention The elasticsearch REST APIs are exposed using JSON over HTT ...
随机推荐
- Oracle的update语句优化研究
最近研究sql优化,以下文章转自互联网: 1. 语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 如:update t_join_situation s ...
- myrocks 之数据字典
data dictionary rocksdb作为mysql的一个新的存储引擎,在存储引擎层,会维护自已的元数据信息.在innodb存储引擎中,我们通过information_schema下的INNO ...
- Windows Server 2008 系统设置集合
1.禁用IPV6 netsh interface teredo set state disabled netsh interface 6to4 set state disabled netsh int ...
- IIS部署Nodejs步骤
需要iis的url重写插件 安装iisnode 配置文件 rewrite 节点需要url重写插件支持 node.exe 路径是你安装的路径 interceptor.js 是你安装iisnode的路径 ...
- 网易云信,发送验证码短信C#版代码
网易云信发送短信代码(C# 版)....需要注意SHA1 String有转换小写!!!! using System; using System.Collections.Generic; using S ...
- centos git 服务器搭建
1.安装git sudo yum -y install git 2.创建用户与授权 # 找到 git_shell whereis git_shell /usr/bin/git-shell # 创建 g ...
- Asp.Net Web API 2第十课——使用OWIN自承载Web API
详情请查看http://aehyok.com/Blog/Detail/71.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...
- [后端人员耍前端系列]KnockoutJs篇:使用KnockoutJs+Bootstrap实现分页
一.引言 由于最近公司的系统需要改版,改版的新系统我打算使用KnockoutJs来制作Web前端.在做的过程中,遇到一个问题——如何使用KnockoutJs来完成分页的功能.在前一篇文章中并没有介绍使 ...
- 从 Android 静音看正确的查bug的姿势?
0.写在前面 没抢到小马哥的红包,无心回家了,回公司写篇文章安慰下自己TT..话说年关难过,bug多多,时间久了难免头昏脑热,不辨朝暮,难识乾坤...艾玛,扯远了,话说谁没踩过坑,可视大家都是如何从坑 ...
- 详解c#迭代器
迭代器模式是设计模式中行为模式(behavioral pattern)的一个例子,他是一种简化对象间通讯的模式,也是一种非常容易理解和使用的模式.简单来说,迭代器模式使得你能够获取到序列中的所有元素 ...