程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Elastic Search 基本操作

发布于2021-06-12 14:03     阅读(845)     评论(0)     点赞(12)     收藏(3)


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 索引查询使用指南——详细版

原文链接:https://blog.csdn.net/guaoran/article/details/117742960



所属网站分类: 技术文章 > 博客

作者:你不要惹我

链接:http://www.javaheidong.com/blog/article/222108/6ef29016d29f480a4797/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

12 0
收藏该文
已收藏

评论内容:(最多支持255个字符)