简单操作elasticsearch(es版本7.6)

es 官方文档 https://www.elastic.co/guide/index.html

简单操作elasticsearch主要是指管理索引,对数据进行增删改查的操作。通常情况下我们使用es head进行这些操作,也可以通过postman或者是其它的http请求工具进行操作。

以下主要是基于es head操作

1、索引管理

a、创建索引(索引名称必须小写!!!)

请求地址:http://localhost:9200/{IndexName}

http方法:PUT

参数示例(创建address索引):

{
"settings":{
"number_of_shards":2,
"number_of_replicas":1
},
"mappings":{
"properties":{
"id":{"type":"keyword"},
"country":{"type":"keyword"},
"province":{"type":"keyword"},
"city":{"type":"keyword"},
"address1":{"type":"text"},
"remark":{"type":"text"}
}
}
}

其中settings是设置索引分片信息:分片数,副本数。

mapping是设置索引的属性信息(属性名称,类型----es数据类型请参照https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html

es head实现示例::

也可以使用Postman或者其他http请求工具实现:

postman实现示例

 b、查看索引

请求地址:http://localhost:9200/{IndexName}/_mappings

http方法:GET

示例(查看address的mapping):

 c、查看索引的配置(settings)

请求地址:http://localhost:9200/{IndexName}/_settings

http方法:GET

示例(查看address的settings):

2、添加数据

注意:默认情况下添加数据时,如果指定的某个字段不存在时,es会自动创建该字段

a、指定id,不存在则创建,存在则更新

请求地址:http://localhost:9200/{IndexName}/_doc/{id}

http方法:PUT

参数示例:

{
"country": "CN",
"province": "广东",
"City": "广州",
"address1": "天河区猎德村123"
}

示例(更新address中id为1的数据--存在则更新,不存在则新增):

b、不指定id,直接创建,id由es自动生成

路径:http://localhost:9200/IndexName/_doc

http方法:POST

参数示例:

{

  “country”:"CN",

  "province":"广东",

  "City":"广州",

  "address1":"白云区xxx"

}

示例(创建一条新的address记录)

3、查询数据

请求地址:http://localhost:9200/{IndexName}/_search

方法:POST

参数示例

{
"query": {
"bool": {
"must": [
{
"term": {
"province": "广东"
}
}
]
}
}
}

示例(查询province是“广东”的address记录)

4、修改数据

请求地址:http://localhost:9200/{IndexName}/_update_by_query

方法:POST

参数示例

{
"script": {
"source": "ctx._source.province='广东省';ctx._source.address1=''"
},
"query": {
"bool": {
"must": [
{
"term": {
"province": "广东"
}
}
]
}
}
}

示例(更新province是“广东”的记录:修改province为“广东省”、address1为空)

5、删除数据

请求地址:http://localhost:9200/{IndexName}/_delete_by_query

方法:POST

参数示例:

{
"query": {
"bool": {
"must": [
{
"term": {
"province": "广东省"
}
}
]
}
}
}

  

示例(删除province是“广东省”的记录)

----------------------------

最新文章

  1. (一)FlexViewer之整体框架解析
  2. over partition by与group by 的区别
  3. 大叔也说Xamarin~Android篇~Activity之间传递数组
  4. Qt自定义窗体,边框,圆角窗体
  5. JavaScript---基本语法
  6. Nodejs_day04
  7. Bzoj 1598: [Usaco2008 Mar]牛跑步 dijkstra,堆,K短路,A*
  8. How to Install Linux, Apache, MySQL, PHP (LAMP) stack on CentOS 6 【Reliable】
  9. (转)UIWebView与JavaScript的那些事儿
  10. hdu5344 MZL's xor(水题)
  11. SqlServer 添加列并赋值
  12. SDK平台三态按钮的实现
  13. vs打开项目,创建虚拟目录,提示权限不足无法写入配置文件
  14. servlet第2讲(下集)----创建servlet实例(继承HttpServlet)
  15. 你的计算机也可以看懂世界——十分钟跑起卷积神经网络(Windows+CPU)
  16. Linux修改文件permission属性
  17. Unity 网格合并
  18. bulid tools
  19. BZOJ.5249.[九省联考2018]iiidx(贪心 线段树)
  20. python全栈开发day20-类的三大特性继承、多态、封装

热门文章

  1. 【宝塔面板】centOS部署前后端分离所有遇到的坑,Django
  2. 【转载】绕过CDN找到源站的思路
  3. Linux软件漏洞-1
  4. # vue 如何通过前端来导出excel表格
  5. 手把手教你使用 Prometheus 监控 JVM
  6. 拉格朗日乘子法与KKT条件
  7. 网站搭建-云服务器ECS的使用
  8. C语言实现表达式求值,支持+、-、*、/四则运算,并且支持多级括号,自定义了栈的操作。
  9. 拦截导弹简单版——线性dp
  10. rsync安装使用中出现的报错