ElasticSearch中的增删改查(postman版)

一、基本操作

①创建索引
put  /索引名称
put  /shopping

在这里插入图片描述

②查看所有索引
get     /_cat/indices?v

在这里插入图片描述

③删除索引
delete   /索引名称
delete  /shopping

在这里插入图片描述

④创建文档并添加数据(未指定id)
post  /索引名称/文档名称
post  /shopping/_doc

可以看到id是随机生成的,可以在文档名称后面指定id;
例如:/shopping/_doc/1001
在这里插入图片描述

⑤查询文档-通过id查询
get  /索引名称/文档名称/id
get  /shopping/_doc/1001

在这里插入图片描述

⑥查询所有文档
get   /索引名称/_search
get   /user/_search

在这里插入图片描述

⑦修改文档–全量修改

全量修改是将文档id下对应的参数都需要传入

put   /索引名称/文档名称/id
put  /shopping/_doc/1001

{
    "title":"小米手机",
    "category":"小米",
    "images":"http://www.gulixueyuan.com/xm.jpg",
    "price":30000.001
}

在这里插入图片描述

⑧单个修改
post  /索引名称/_update/id
post  /shopping/_update/1001

{
    "doc":{
        "title":"小米手机2"
    }
}

在这里插入图片描述

⑨删除数据
delete   /索引名称/文档名称/id
delete  /shopping/_doc/1001

在这里插入图片描述

二、进阶操作

①条件查询–url地址查询
get   /索引名称/_search?q=参数名称:参数值
get   /shopping/_search?q=category:小米

在这里插入图片描述

②条件查询-json查询
get   /索引名称/_search
get   /shopping/_search

{
    "query":{   //关键字  查询
        "match":{	//关键字  查询条件
            "category":"小米"
        }
    }
}

在这里插入图片描述

③分页查询
get   /索引名称/_search
get  /shopping/_search
{
    "query":{
        "match_all":{  //all代表查询全部
        }
    },
    "from":0,  //代表页码
    "size":10	//代表条数
}

在这里插入图片描述

④分页查询-只展示想要字段
get   /索引名称/_search
get  /shopping/_search
{
    "query":{
        "match_all":{

        }
    },
    "from":2,
    "size":10,
    "_source":["title"]    //中括号中标识想要展示的字段,多个用逗号隔开
}

在这里插入图片描述

⑤分页查询排序
get   /索引名称/_search
get  /shopping/_search
//代表按照price 这个字段进行正向排序,并只展示title这个字段
{
    "query":{
        "match_all":{

        }
    },
    "from":2,
    "size":10,
    "_source":["title"],
    "sort":{
        "price":{
            "order":"asc"
        }
    }
}

在这里插入图片描述

⑥多条件查询-都需成立
get   /索引名称/_search
get  /shopping/_search
//代表查询中的数据  category 必须有 小米  且 price 必须 是30000
{
    "query":{
        "bool":{
            "must":[   //此关键字表示  &&
                {
                    "match":{
                        "category":"小米"
                    }
                },{
                    "match":{
                        "price":30000
                    }
                }
            ]
        }
    }
}

在这里插入图片描述

⑦多条件查询–或者
get   /索引名称/_search
get  /shopping/_search
{
    "query":{
        "bool":{
            "should":[   //此关键字表示  ||
                {
                    "match":{
                        "category":"小米"
                    }
                },{
                    "match":{
                        "price":30000
                    }
                }
            ]
        }
    }
}

在这里插入图片描述

⑧条件查询-范围
get   /索引名称/_search
get  /shopping/_search
{
    "query":{
        "bool":{
            "should":[
                {
                    "match":{
                        "category":"小米"
                    }
                },{
                    "match":{
                        "price":30000
                    }
                }
            ],
            "filter":{
                "range":{
                    "price":{
                        "gt":89900
                    }
                }
            }
        }
    }
}

在这里插入图片描述

⑨完全匹配–高亮展示
get   /索引名称/_search
get  /shopping/_search
{
    "query":{
        "match_phrase":{    //这个关键字代表要查询的字段不需要分词查询,例如:小米 在es中会分成  小  米   使用此关键字后即可查询  小米
            "category":"小米"
        } 
    },
    "highlight":{		//高亮展示
            "fields":{
                "category":{}   //代表高亮展示这个字段
            }
        }
}

在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Python进行Elasticsearch增删改查操作,你可以使用Elasticsearch的官方库elasticsearch-py来实现。下面是一个简单的例子来演示如何进行增删改查操作: 引用: 首先,你需要导入Elasticsearch库并连接到Elasticsearch服务器: ```python from elasticsearch import Elasticsearch # 连接到Elasticsearch服务器 es = Elasticsearch([ES_IP], http_auth=('elastic', '123456'), port=ES_PORT) ``` 引用: 查询数据: - 查询所有数据: ```python body = { "size": 111, # 最大显示数量,es默认展示10条 "query": { "match_all": {} } } res = es.search(index='my-index', body=body, request_timeout=30) ``` - 查询具体某个字段: ```python body = { "size": 10000, # 最大显示数量 "query": { "match": { "text": { "query": search_key, "analyzer": "ik_smart", # 用来指定搜索的词语按那种拆词粒度拆词 "operator": "or", # 按拆分后的词查询时,词与词之间是 and 还是 or 的关系 "minimum_should_match": "75%" # 该参数用来控制应该匹配的分词的最少数量,至少匹配几个词才召回查询的结果 } } } } res = es.search(index='my-index', body=body, request_timeout=30) ``` 引用: 获取拆分后的词: 你可以使用Elasticsearch的analyze API来获取拆分后的词,例如: ```python body = { "text": "惠普 p2015dn", "analyzer": "ik_max_word" } res = es.indices.analyze(index='my-index', body=body) key_list = [dic['token'] for dic in res['tokens']] print(key_list) # ['惠普', 'p2015dn', 'p', '2015', 'dn'] ``` 以上是关于在Python使用Elasticsearch进行增删改查的基本操作。你可以根据具体的需求使用不同的查询方式,并根据返回的结果进行相应的处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python 使用 Elasticsearch 增删查改](https://blog.csdn.net/Waller_/article/details/109810964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓦然回首的风度

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值