• ElasticSearch-命令行客户端操作


    1.引言

    实际开发中,主要有三种方式可以作为elasticsearch服务的客户端:
    第一种,elasticsearch-head插件(可视化工具)

    第二种,使用elasticsearch提供的Restful接口直接访问(仅仅用户学习测试)

    第三种,使用elasticsearch提供的API进行访问,使用JavaAPI去访问ES!(实际开发)

    2.Postman工具

    Postman中文版是postman这款强大网页调试工具的windows客户端,提供功能强大的Web API & HTTP 请求调试。软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman中文版能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),且可以附带任何数量的参数。

    3.安装Postman工具

    Postman官网:https://www.getpostman.com
    在这里插入图片描述
    在这里插入图片描述

    4.使用Postman工具进行Restful接口访问

    4.1.ElasticSearch的接口语法

    curl ‐X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' ‐d '<BODY>
    

    其中:

    参数 解释
    VERB 适当的 HTTP 方法谓词 : GETPOSTPUTHEAD 或者 DELETE
    PROTOCOL http 或者 https(如果你在 Elasticsearch 前面有一个 https 代理)
    HOST Elasticsearch 集群中任意节点的主机名,或者用 localhost 代表本地机器上的节点。
    PORT 运行 Elasticsearch HTTP 服务的端口号,默认是 9200
    PATH API 的终端路径(例如 _count 将返回集群中文档数量)。Path 可能包含多个组件,例如:_cluster/stats_nodes/stats/jvm
    QUERY_STRING 任意可选的查询字符串参数 (例如 ?pretty 将格式化地输出 JSON 返回值,使其更容易阅读)
    BODY 一个 JSON 格式的请求体 (如果请求需要的话)

    4.2 创建索引index和映射mapping

    请求url:

    PUT	localhost:9200/blog1
    

    请求体:

    如果ES的版本不同,那么以下的请求题需要同步更新~~~~,新版本ES改动比较大。但是JavaAPI的使用方式没什么变化~
    
    {
        "mappings": {
            "article": {
                "properties": {
                    "id": {
                    	"type": "long",
                        "store": true,
                        "index":"not_analyzed" 
                    },
                    "title": {
                    	"type": "text",       # 字段类型
                        "store": true,        # 是否在索引中存贮
                        "index":"analyzed",   # 是否需要被索引
                        "analyzer":"standard" # 标准分词器 内置的
                    },
                    "content": {
                    	"type": "text",
                        "store": true,
                        "index":"analyzed",   
                        "analyzer":"standard"
                    }
                }
            }
        }
    }
    

    postman截图:
    在这里插入图片描述
    elasticsearch-head查看:
    在这里插入图片描述

    4.3 创建索引后设置Mapping

    我们可以在创建索引时设置mapping信息,当然也可以先创建索引然后再设置mapping。
    在上一个步骤中不设置maping信息,直接使用put方法创建一个索引,然后设置mapping信息。
    在这里插入图片描述
    请求的url:

    POST	http://127.0.0.1:9200/blog2/hello/_mapping
    

    请求体:

    {
        "hello": {
                "properties": {
                    "id":{
                    	"type":"long",
                    	"store":true
                    },
                    "title":{
                    	"type":"text",
                    	"store":true,
                    	"index":true,
                    	"analyzer":"standard"
                    },
                    "content":{
                    	"type":"text",
                    	"store":true,
                    	"index":true,
                    	"analyzer":"standard"
                    }
                }
            }
      }
    
    

    PostMan截图
    在这里插入图片描述

    4.4 删除索引index

    请求url:

    DELETE		localhost:9200/blog1
    

    postman截图:
    在这里插入图片描述
    elasticsearch-head查看:
    在这里插入图片描述

    4.5 创建文档document

    请求url:

    POST	localhost:9200/blog1/article/1
    

    请求体:

    {
    	"id":1,
    	"title":"ElasticSearch是一个基于Lucene的搜索服务器",
    	"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"
    }
    

    postman截图:
    在这里插入图片描述elasticsearch-head查看:
    在这里插入图片描述

    4.6 修改文档document

    请求url:

    POST	localhost:9200/blog1/article/1
    

    请求体:

    {
    	"id":1,
    	"title":"【修改】ElasticSearch是一个基于Lucene的搜索服务器",
    	"content":"【修改】它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"
    }
    

    postman截图:
    在这里插入图片描述
    elasticsearch-head查看:
    在这里插入图片描述

    4.7 删除文档document

    请求url:

    DELETE	localhost:9200/blog1/article/1
    
    

    postman截图:
    在这里插入图片描述
    elasticsearch-head查看:
    在这里插入图片描述

    4.8 查询文档-根据id查询

    请求url:

    GET	localhost:9200/blog1/article/1
    
    

    postman截图:

    在这里插入图片描述

    4.9 查询文档-querystring查询

    请求url:

    POST	localhost:9200/blog1/article/_search
    
    

    请求体:

    {
        "query": {
            "query_string": {
                "default_field": "title",
                "query": "搜索服务器"
            }
        }
    }
    
    

    postman截图:
    在这里插入图片描述
    注意:
    将搜索内容"搜索服务器"修改为"钢索",同样也能搜索到文档,该原因会在下面讲解中得到答案

    {
    	"query": {
    		"query_string": {
    		"default_field": "title",
    		"query": "钢索"
    		}
    	}
    }
    
    

    4.10 查询文档-term查询

    请求url:

    POST	localhost:9200/blog1/article/_search
    
    

    请求体:

    {
        "query": {
            "term": {
                "title": "搜索"
            }
        }
    }
    
    

    postman截图:
    在这里插入图片描述

    term是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词,所以我们的搜索词必须是文档分词集合中的一个。

  • 相关阅读:
    mysql: 多时区的聚合统计
    机器学习实例---3.2、朴素贝叶斯之新浪新闻分类
    机器学习实例---3.1、朴素贝叶斯基础
    机器学习实例---2.1、决策树(实战)
    python的pickle模块
    机器学习实例---2.1、决策树(介绍)
    如何计算熵
    sklearn库简单介绍
    机器学习实例---1.3、k-近邻算法(数字识别)
    理解ThreadPoolExecutor线程池的corePoolSize、maximumPoolSize和poolSize
  • 原文地址:https://www.cnblogs.com/npeng/p/14325503.html
Copyright © 2020-2023  润新知