zoukankan      html  css  js  c++  java
  • 四十一 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查

    elasticsearch(搜索引擎)基本的索引和文档CRUD操作

    也就是基本的索引和文档、增、删、改、查、操作

    注意:以下操作都是在kibana里操作的

    elasticsearch(搜索引擎)都是基于http方法来操作的

    GET 请求指定的页面信息,并且返回实体主体

    POST 向指定资源提交数据进行处理请求,数据被包含在请求体中,POST请求可能会导致新的资源的建立和/或已有资源的修改

    PUT 向服务器传送的数据取代指定的文档的内容

    DELETE 请求服务器删除指定的页面


    1、索引初始化,相当于创建一个数据库

    kibana创建

    代码说明

    复制代码
    # 初始化索引(也就是创建数据库)
    # PUT 索引名称
    """
    PUT jobbole                             #设置索引名称
    {
      "settings": {                         #设置
        "index": {                          #索引
          "number_of_shards":5,             #设置分片数
          "number_of_replicas":1            #设置副本数
        }
      }
    }
    """
    复制代码

    代码

    复制代码
    # 初始化索引(也就是创建数据库)
    # PUT 索引名称
    
    PUT jobbole                             
    {
      "settings": {                         
        "index": {                          
          "number_of_shards":5,             
          "number_of_replicas":1            
        }
      }
    }
    复制代码

     我们也可以使用可视化根据创建索引

    注意:索引一旦创建,分片数量不可修改,副本数量可以修改的


    2、获取索引的settings(设置信息)

    GET 索引名称/_settings   获取指定索引的settings(设置信息)

    复制代码
    # 初始化索引(也就是创建数据库)
    # PUT 索引名称
    PUT jobbole                             
    {
      "settings": {                         
        "index": {                          
          "number_of_shards":5,             
          "number_of_replicas":1            
        }
      }
    }
    
    #获取指定索引的settings(设置信息)
    GET jobbole/_settings
    复制代码

    GET _all/_settings 获取所有索引的settings(设置信息)

    复制代码
    # 初始化索引(也就是创建数据库)
    # PUT 索引名称
    PUT jobbole                             
    {
      "settings": {                         
        "index": {                          
          "number_of_shards":5,             
          "number_of_replicas":1            
        }
      }
    }
    
    #获取索引的settings(设置信息)
    #GET jobbole/_settings
    
    #获取所有索引的settings(设置信息)
    GET _all/_settings
    复制代码

    GET .索引名称,索引名称/_settings   获取多个索引的settings(设置信息)

    复制代码
    # 初始化索引(也就是创建数据库)
    # PUT 索引名称
    PUT jobbole                             
    {
      "settings": {                         
        "index": {                          
          "number_of_shards":5,             
          "number_of_replicas":1            
        }
      }
    }
    
    #获取索引的settings(设置信息)
    #GET jobbole/_settings
    
    #获取所有索引的settings(设置信息)
    #GET _all/_settings
    GET .kibana,jobbole/_settings
    复制代码


    3、更新索引的settings(设置信息)

    PUT 索引名称/_settings   更新指定索引的设置信息

    复制代码
    # 初始化索引(也就是创建数据库)
    # PUT 索引名称
    PUT jobbole                             
    {
      "settings": {                         
        "index": {                          
          "number_of_shards":5,             
          "number_of_replicas":1            
        }
      }
    }
    
    #更新指定索引的settings(设置信息)
    PUT jobbole/_settings
    {
      "number_of_replicas":2
    }
    
    #获取索引的settings(设置信息)
    GET jobbole/_settings
    复制代码


    4、获取索引的(索引信息)

    GET _all  获取所有索引的索引信息

    复制代码
    # 初始化索引(也就是创建数据库)
    # PUT 索引名称
    PUT jobbole                             
    {
      "settings": {                         
        "index": {                          
          "number_of_shards":5,             
          "number_of_replicas":1            
        }
      }
    }
    
    #获取索引的settings(设置信息)
    #GET jobbole/_settings
    
    GET _all
    复制代码

    GET 索引名称  获取指定的索引信息

    复制代码
    # 初始化索引(也就是创建数据库)
    # PUT 索引名称
    PUT jobbole                             
    {
      "settings": {                         
        "index": {                          
          "number_of_shards":5,             
          "number_of_replicas":1            
        }
      }
    }
    
    
    #获取索引的settings(设置信息)
    #GET jobbole/_settings
    #GET _all
    GET jobbole
    复制代码


    5、保存文档(相当于数据库的写入数据)

    PUT index(索引名称)/type(相当于表名称)/1(相当于id){字段:值}    保存文档自定义id(相当于数据库的写入数据)

    复制代码
    #保存文档(相当于数据库的写入数据)
    PUT jobbole/job/1
    {
      "title":"python分布式爬虫开发",
      "salary_min":15000,
      "city":"北京",
      "company":{
        "name":"百度",
        "company_addr":"北京市软件园"
      },
      "publish_date":"2017-4-16",
      "comments":15
    }
    复制代码

     可视化查看

    POST index(索引名称)/type(相当于表名称)/{字段:值}    保存文档自动生成id(相当于数据库的写入数据)

    注意:自动生成id需要用POST方法

    复制代码
    #保存文档(相当于数据库的写入数据)
    POST jobbole/job
    {
      "title":"html开发",
      "salary_min":15000,
      "city":"上海",
      "company":{
        "name":"微软",
        "company_addr":"上海市软件园"
      },
      "publish_date":"2017-4-16",
      "comments":15
    }
    复制代码


    6、获取文档(相当于查询数据)

    GET 索引名称/表名称/id   获取指定的文档所有信息

    #获取文档(相当于查询数据)
    GET jobbole/job/1

    GET 索引名称/表名称/id?_source  获取指定文档的所有字段

    GET 索引名称/表名称/id?_source=字段名称,字段名称,字段名称  获取指定文档的多个指定字段

    GET 索引名称/表名称/id?_source=字段名称  获取指定文档的一个指定字段

    复制代码
    #获取指定文档的所有字段
    GET jobbole/job/1?_source
    #获取指定文档的多个指定字段
    GET jobbole/job/1?_source=title,city,company
    #获取指定文档的一个指定字段
    GET jobbole/job/1?_source=title
    复制代码


    7、修改文档(相当于修改数据)

    修改文档(用保存文档的方式,进行覆盖来修改文档)原有数据全部被覆盖

    复制代码
    #修改文档(用保存文档的方式,进行覆盖来修改文档)
    PUT jobbole/job/1
    {
      "title":"python分布式爬虫开发",
      "salary_min":15000,
      "city":"北京",
      "company":{
        "name":"百度",
        "company_addr":"北京市软件园"
      },
      "publish_date":"2017-4-16",
      "comments":20
    }
    复制代码

    修改文档(增量修改,没修改的原数据不变)【推荐】

    复制代码
    POST 索引名称/表/id/_update
    {
      "doc": {
        "字段":值,
        "字段":值
      }
    }
    复制代码
    复制代码
    #修改文档(增量修改,没修改的原数据不变)
    POST jobbole/job/1/_update
    {
      "doc": {
        "comments":20,
        "city":"天津"
      }
    }
    复制代码


    8、删除索引,删除文档

    DELETE 索引名称/表/id 删除索引里的一个指定文档

    DELETE 索引名称 删除一个指定索引

    #删除索引里的一个指定文档
    DELETE jobbole/job/1
    #删除一个指定索引
    DELETE jobbole
  • 相关阅读:
    DB2开发系列之三——SQL函数
    DB2开发系列之二——SQL过程
    DB2开发系列之一——基本语法
    优化的“真谛”
    DB2性能调优
    AIX分页(交换)空间的监控
    AIX5L内存监控和调整
    直接删除undo及temp表空间文件后的数据库恢复一例
    【LeetCode】 -- 68.Text Justification
    关于linux下的.a文件与 .so 文件
  • 原文地址:https://www.cnblogs.com/meng-wei-zhi/p/8182888.html
Copyright © 2011-2022 走看看