ElasticSearch 学习文档

新建索引

PUT请求

http://192.168.100.73:9200/book/

地址:端口号/索引名称

插入

POST请求

 http://192.168.100.73:9200/book/math/1

 地址:端口号/索引名/类型/id

  {

"name":"语文数学",

"contry":"china",

"age":"7",

"date":"1987-03-07"

}

按照自己定义的数据格式插入数据

修改

POST 请求

   http://192.168.100.73:9200/book/math/1/_update

   地址:端口号/索引名/类型/id/_update

 

 指定文档修改

{

"doc":{

"name":"英语"

}

 

}

在doc中根据键修改数据

通过脚本修改

 第一种修改数据

{

"script":{

"lang":"painless",

"inline":"ctx._source.age += 10"

}

}

 第二种修改数据

{

"script":{

"lang":"painless",

"inline":"ctx._source.age = params.age",

"params":{

"age":100

}

}

}

删除

  删除文档

   DELETE 请求

    http://192.168.100.73:9200/book/math/1

    地址:端口号/索引名/类型/id

  删除索引

   DELETE 请求

    http://192.168.100.73:9200/book

    地址:端口号/索引名

 

查询

  简单查询

  GET 请求

   http://192.168.100.73:9200/book/math/1

   {

    "_index": "book",

    "_type": "math",

    "_id": "1",

    "_version": 4,

    "found": true,

    "_source": {

        "name": "英语",

        "contry": "china",

        "age": 100,

        "date": "1987-03-07"

    }

}

  条件查询

   POST请求

   http://192.168.100.73:9200/book/_search

{

"query":{

"match_all":{}

}

}

{

"query":{

"match_all":{}

},

"from":1,    :指定从哪返回

"size":1     :表示返回几条数据

}

都是用query执行查询语句

{

    "took": 1,               :表示响应的时间

    "timed_out": false,

    "_shards": {

        "total": 5,

        "successful": 5,

        "skipped": 0,

        "failed": 0

    },

    "hits": {               :表示全部响应的结果

        "total": 2,

        "max_score": 1,

        "hits": [

            {

                "_index": "book",

                "_type": "math",

                "_id": "ikQr1GMBzx52oHJmmJhC",

                "_score": 1,

                "_source": {

                    "name": "语文数学",

                    "contry": "china",

                    "age": "7",

                    "date": "1987-03-07"

                }

            },

            {

                "_index": "book",

                "_type": "math",

                "_id": "1",

                "_score": 1,

                "_source": {

                    "name": "英语",

                    "contry": "china",

                    "age": 100,

                    "date": "1987-03-07"

                }

            }

        ]

    }

}

  聚合查询

   POST请求

    http://192.168.100.73:9200/book/_search

{

"aggs":{

"group_by_word_count":{     :聚合名称

"terms":{

"field":"type"         :要分组的字段名称

}

}

}

}

 

{

"aggs":{

"grades_word_count":{

"stats":{               :函数(min max avg)

"field":"age"         :要计算的字段

}

}

}

}

高级查询

 子条件查询:特定字段查询所指特定值

   Query context  在查询过程中,除了判断文档是否满足查询条件外,ES还会计算一个_score来标识匹配的程度,旨在判断目标文档和查询条件匹配的有多好

  全文本查询    针对文本类型数据

    {

"query":{

"match":{         :模糊匹配

"name":"数学"

}

}

}   

{

"query":{

"match_phrase":{   :精确查询

"name":"英语"

}

}

}

 

{

"query":{

"multi_match":{     :匹配多个字段

"query":"数学",

"fields":["name","contry"]  :指定字段

}

}

}

{

"query":{

"query_string":{      :查询多个条件

"query":"数学 OR 英语"

}

}

}

  字段级别查询  针对结构化数据,如数字/日期等

   Filter context  在查询过程中,只判断该文档是否满足条件,只有YES或者NO

  {

"query":{

"bool":{   

"filter":{        :数据过滤的

"term":{

"age":7

}

}

}

}

}

 复合条件查询:以一定的逻辑组合子条件查询

 固定分数查询

{

"query":{

"constant_score":{  

"filter":{

"match":{

"age":7

}

},

"boost":2     是改变_score值的

}

}

}

 

{

"query":{        :或者的数据结构

"bool":{

"should":[  :类似于sql的or    /"must":类似与必须满足以下条件

{

"match":{

"age":7

}

 

},

{

"match":{

"name":"数学"

}

}

 

     ]

}

   }

}

 

{

"query":{

"bool":{

"must_not":{   :一定不能满足的条件

"term":{

"age":7

}

}

}

   }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值