zoukankan      html  css  js  c++  java
  • 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=我是程序员

          效果实现:

            

          

  • 相关阅读:
    HDU 5585 Numbers
    HDU 3308 LCIS
    POJ 2991 Crane
    POJ 1436 Horizontally Visible Segments
    POJ 3667 Hotel
    HaiHongOJ 1003 God Wang
    【SDOI 2008】 递归数列
    5月19日省中提高组题解
    【HDU 1588】 Gauss Fibonacci
    【POJ 3233】Matrix Power Series
  • 原文地址:https://www.cnblogs.com/wnwn/p/12366271.html
Copyright © 2011-2022 走看看