• ElasticSearch的客户端操作


    实际开发中,主要由三种方式可以作为elasticsearch服务的客户端:

      1.elasticsearch-head插件;

      2.使用elasticsearch提供的Restful接口直接访问;

      3.使用elasticsearch提供的API进行访问;

    使用Postman工具进行Restful接口访问(下载地址:https://www.postman.com/

      1.elasticsearch的接口语法

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

        解释:

          VERB:适当的HTTP方法或谓词,(GET,POST,PUT,DELETE);

          PROTOCOL:HTTP或者HTTPS(如果你在elasticsearch前面有一个HTTPS代理);

          HOST:elasticsearch集群中任意节点的主机名,或者用localhost代表本机机器上的节点;

          PORT:运行elasticsearch http服务的端口号,默认为9200;  

          PATH:API的终端路径;

          QUERY_STRING:任意可选的查询字符串参数;

          BODY:一个JSON格式的请求体;  

      2.创建索引index和映射mapping(添加)

        2.1 在postman地址栏中输入如下地址:(添加的HTTP方法是PUT)

    http://localhost:9200/wn_2

        2.2 请求体

    复制代码
    {
        "mappings":{
            "type_table1":{
                "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"
                    }
                }
            }
        }
    }
    复制代码

          

        2.3 点击Send按钮,查看页面执行结果

          

          点击【信息】下的【索引信息】,查看elasticsearch-head: 

          

      3.创建索引后设置mapping(修改)

        3.1 先创建一个索引,不指定mapping信息

          

        3.2 请求的url(修改请求的方式是POST)

    http://localhost:9200/wn_1/type_table2/_mapping

        3.3 请求体  

    复制代码
    {
            "type_table2": {
                "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"
                    }
                }
            }
    }
    复制代码

        3.4 点击Send后执行的结果

          

          

      4.删除索引index

        4.1 请求的url  (删除的请求方式是delete)

    http://localhost:9200/wn_2

        4.2 实现效果

          

           

      5.创建文档document

        5.1 请求的url (请求方式post)

    http://localhost:9200/wn_1/type_table2/1

        5.2 请求体

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

        5.3 点击Send后,查看实现效果

          

           

      6.修改文档document

        6.1 请求的url·(请求的方式是POST)

    http://localhost:9200/wn_1/type_table2/1

        6.2 请求体

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

        6.3 点击Send后,实现效果    

          

      7.删除文档document

        7.1 请求的url (请求的方式是delete)

    http://localhost:9200/wn_1/type_table2/1

        7.2 点击Send后,实现效果

          

      8.查询文档-根据id查询

        8.1 创建文档(两条数据)

          

        8.2 请求的url  (请求方式是GET)      

    http://localhost:9200/wn_1/type_table2/1

        8.3 点击Send后,查询出的结果

          

      9.查询文档-querystring查询

        9.1 请求的url  (请求的方式为POST)

    http://localhost:9200/wn_1/type_table2/_search

        9.2 请求体

    复制代码
    { 
        "query": { 
            "query_string": { 
                "default_field": "title", 
                "query": "搜索服务器" 
            } 
        } 
    }
    复制代码

        9.3 点击Send后,效果实现

          

         9.4 注意:将搜索内容"搜索服务器"修改为"修改",同样也能搜索到文档 

          

      10.查询文档-term查询

        10.1 请求的url  (请求的方式为POST)

    http://localhost:9200/wn_1/type_table2/_search

        10.2 请求体

    复制代码
    { 
        "query": { 
            "term": { 
                "title": "搜索" 
            } 
        } 
    }
    复制代码

        10.3 点击Send,效果实现

          

          因为这里使用的是标椎分词器,所以查出的数据是空的,下面我可以测试一下标椎分词器的效果:(GET请求方式)

    http://localhost:9200/_analyze?analyzer=standard&pretty=true&text=我是程序员

          效果实现:

            

  • 相关阅读:
    Android开发过程中的坑及解决方法收录(二)
    【转】Android开发之数据库SQL
    Android开发过程中的坑及解决方法收录(一)
    Android开发之基于监听的事件处理
    Android开发——导入github安卓项目源码
    Android开发之常见事件响应方式
    Android studio导入eclipse项目(亲测)
    Android开发——diglog cancel与dismiss方法区别
    Android开发——Toast知识
    android 点击返回键 以及 加载activity 生命周期 记录。。。,一目了然
  • 原文地址:https://www.cnblogs.com/mayuan01/p/12391933.html
Copyright © 2020-2023  润新知