学习Elasticsearch

Posted 超仔个人空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习Elasticsearch相关的知识,希望对你有一定的参考价值。

        上次我们说到Elasticsearch的windows安装和基本调用的代码,今天我们说说如何和Elasticsearch通信

        Elasticsearch是基于HTTP协议,以JSON为数据交互格式的RESTful API

其他所有程序语言都可以使用RESTful API,通过9200端口的与Elasticsearch进行通信,你可以使用你喜欢的WEB客户端,

事实上,如你所见,你甚至可以通过 curl 命令与Elasticsearch通信。

注:  Elasticsearch官方提供了多种程序语言的客户端——Groovy,javascript, .NET,php,Perl,Python,以及 Ruby

        向Elasticsearch发出的请求的组成部分与其它普通的HTTP请求是一样的:

    curl -X<http> '<protocol >://<hostip >/<path>?<query>' -d '<body>'

   http HTTP方法: GET , POST , PUT , HEAD , DELETE

    protocol http或者https协议

    port Elasticsearch HTTP服务所在的端口,默认为9200

    query一些可选的查询请求参数

    body 一个JSON格式的请求参数

举例:

        curl -XGET 'http://localhost:9200/_count?pretty' -d '

        {

            "query": {

            "match_all": {}

            }

        }

响应

{

        "count" : 0,

        "_shards" : {

                "total" : 5,

                "successful" : 5,

                "failed" : 0

        }

}

下面我们来说说Elasticsearch面向文档的概念

        Elasticsearch是面向文档的,这意味着它可以存储整个对象或者文档(document)。

        Elasticsearch集群可以包含多个索引(indices)(相当于数据库),每一个索引可以包含多个类型(types)(相当于表),每一个类型包含多

个文档(documents)(相当于数据库的行值),然后每个文档包含多个字段(Fields)(也就是数据库中的列值)

所以说我们现在举个具体的例子

    PUT    http://localhost:9200/index_one/types_one/id_one

    {

        "name" : "name",

        "age" : 25,

        "interests": [ "play", "read" ]

    }

        这样我们就创建成功一个索引名为index_one,类型为types_one并且id为id_one

其中数据为三列name,age,interests

顺便说一下如果不输入id也可以这样会随机生成一个唯一的id串

下面我们在看看查询我们创建这条信息的方式

GET   http://localhost:9200/index_one/types_one/id_one

{

    "_index" : "index_one",

    "_type" : "types_one",

    "_id" : "id_one",

    "_version" : 1,

    "found" : true,

    "_source" : {      

         "name" : "name",

         "age" : 25,

         "interests": [ "play", "read" ]


    }

}

        这样基本的增加和查询就完事后面我们会在写一些复杂的查询和更新数据的方式

感兴趣的小伙伴就加关注吧我们一起学习进步吧


以上是关于学习Elasticsearch的主要内容,如果未能解决你的问题,请参考以下文章

怎么快速入门深度学习

机器学习中的有监督学习,无监督学习,半监督学习

转 世上最强学习方法——费曼学习法(深度学习)

强化学习⚠️手把手带你走进强化学习 1⚠️ 强化学习简介

强化学习⚠️手把手带你走进强化学习 1⚠️ 强化学习简介

监督学习,(ii)无监督学习,(iii)强化学习