Elastic Search 基本操作

Elastic Search 基本操作

基本操作

ElasticSearch操作
创建索引
  • 一般索引

在这里插入图片描述

  • 结构化索引
    在这里插入图片描述
{
	"novel": {
		"properties": {
			"title": {
				"type": "text"
			}
		}
	}
}
  • 使用 postman PUT 方式:http://192.168.45.135:9200/demo_test

在这里插入图片描述

{
    "settings":{
    "number_of_shards":3,
    "number_of_replicas":1
    },
    "mappings":{
        "man":{
            "properties":{
                "name":{
                    "type":"text"
                },
                "country":{
                    "type":"keyword"
                },
                "age":{
                    "type":"integer"
                },
                "data":{
                    "type":"date",
                    "format":"yyyy-MM-dd HH:mm:ss || yyyy-MM-dd||epoch_millis"
                }
            }
        }
    
    },
    "woman":{}
}
插入数据
  • 方式一:
    • 指定文档ID 插入,在Postman 中使用PUT 方法http://192.168.45.135:9200/demo_test/man/1

在这里插入图片描述

  • 方式二:
    • 自动生成文档ID 插入,在Postman 中使用POST 方法,http://192.168.45.135:9200/demo_test/man

在这里插入图片描述

修改文档
  • 方式一:
    • 直接修改文档,打开Postmain,选择POST 方法,http://192.168.45.135:9200/demo_test/man/1/_update

在这里插入图片描述

  • 方式二:

    • 通过脚本修改文档,在raw 区输入以下内容:

在这里插入图片描述

  • 所有年龄增加一岁。

    {
    	"script": {
    		"lang": "painless",
    		"inline": "ctx._source.age += 1"
    	}
    }
    
  • 修改年龄为30 岁

    {
    	"script": {
    		"lang": "painless",
    		"inline": "ctx._source.age = params.age",
    		"params": {
    			"age": 30
    		}
    	}
    }
    
删除文档
  • 打开Postman,选择DELETE 方法,输入 http://192.168.45.135:9200/demo_test/man/1

在这里插入图片描述

删除索引
  • 打开Postman ,DELETE方法 输入 http://192.168.45.135:9200/demo_test,执行结果如下:

在这里插入图片描述

查询语句
  • 全表查询:GET 方法,打开Postman 输入 http://192.168.45.135:9200/demo_test/_search

在这里插入图片描述

  • 条件查询:

    • POST方法,在Postman 中输入 http://192.168.45.135:9200/demo_test/_search,然后在raw 区域中编辑如下内容:查询name中包含zhang关键字,且按日期date降序排序。
    {
    	"query": {
    		"match": {
    			"name": "zhang"
    		}
    	},
    	"sort": [{
    		"date": {
    			"order": "desc"
    		}
    	}]
    }
    

在这里插入图片描述

  • 聚合查询:

    • 在Postman 中选择GET 方法,输入http://192.168.45.135:9200/demo_test/_search,然后在raw 区域中编辑如下内容:根据年龄和日期进行分组
    {
    	"aggs": {
    		"group_by_age": {
    			"terms": {
    				"field": "age"
    			}
    		},
    		"group_by_date": {
    			"terms": {
    				"field": "date"
    			}
    		}
    	}
    }
    

在这里插入图片描述

  • 聚合统计:

    • POST 方法,在Postman 中输入http://192.168.45.135:9200/demo_test/_search,然后在raw 区域中编辑如下内容:根据age进行聚合统计
    {
    	"aggs": {
    		"grades_age": {
    			"stats": {
    				"field": "age"
    			}
    		}
    	}
    }
    

在这里插入图片描述

query 条件
  • 模糊匹配,在Postman 中选择Post方法,输入http://192.168.45.135:9200/demo_test/_search,然后在raw 区域中编辑如下内容:查询名称包含“java" 和 ”spark“ 的关键字

    {
    	"query": {
    		"match": {
    			"name": "java spark"
    		}
    	}
    }
    

在这里插入图片描述

  • 近似匹配

    • phrase match,就是要去将多个term作为一个短语,一起去搜索,只有包含这个短语的doc才会作为结果返回。match是只在包含其中任何一个分词就返回。
    {
    	"query": {
    		"match_phrase": {
    			"name": "java spark"
    		}
    	}
    }
    

在这里插入图片描述

  • 多字段匹配:查询 namecountr 包含 java 关键字

    {
    	"query": {
    		"multi_match": {
    			"query": "java",
    			"fields":["name","country"]
    		}
    	}
    }
    

在这里插入图片描述

ElasticSearch 索引查询使用指南——详细版

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值