第三百六十二节,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

转载于:https://www.cnblogs.com/adc8868/p/7450035.html

第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查...相关推荐

  1. 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念...

    第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)的基本概念 elasticsearch的基本概念 1.集群:一个或者多个节点组织在一起 2.节点 ...

  2. 第三百三十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—深度优先与广度优先原理...

    第三百三十八节,Python分布式爬虫打造搜索引擎Scrapy精讲-深度优先与广度优先原理 网站树形结构 深度优先 是从左到右深度进行爬取的,以深度为准则从左到右的执行(递归方式实现)Scrapy默认 ...

  3. 学习python-day02-25---转自Python分布式爬虫打造搜索引擎Scrapy精讲

    第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)用Django实现搜索功能 Django实现搜索功能 1.在Django配置搜索结果页的路由映 ...

  4. 第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图...

    第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲-爬虫和反爬的对抗过程以及策略-scrapy架构源码分析图 1.基本概念 2.反爬虫的目的 3.爬虫和反爬的对抗过程以及策略 scra ...

  5. 三十七 Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中...

    Python分布式爬虫打造搜索引擎Scrapy精讲-将bloomfilter(布隆过滤器)集成到scrapy-redis中,判断URL是否重复 布隆过滤器(Bloom Filter)详解 基本概念 如 ...

  6. 学习python-day02-24---转自Python分布式爬虫打造搜索引擎Scrapy精讲

    第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲-用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.e ...

  7. Python分布式爬虫打造搜索引擎

    Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 未来是什么时代?是数据时代!数据分析服务.互联网金融,数据建模.自 ...

  8. Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站

    Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...

  9. 第三百九十二节,Django+Xadmin打造上线标准的在线教育平台—sql注入攻击,xss攻击,csrf攻击...

    第三百九十二节,Django+Xadmin打造上线标准的在线教育平台-sql注入攻击,xss攻击,csrf攻击 sql注入攻击 也就是黑客通过表单提交的地方,在表单里输入了sql语句,就是通过SQL语 ...

最新文章

  1. 关于.NET玩爬虫这些事 【初码干货】
  2. java swing图形界面开发与案例详解source code
  3. Spring框架深入(四)--SpringMVC配置详解
  4. 2012届华为校园招聘机试题
  5. 在php获取访问方的ip
  6. 人人都在讨论的大数据,你了解吗?
  7. Java连接Mysql数据库增删改查实现
  8. IHttpModule 与IHttpHandler的区别
  9. matlab中如何调用gpu进行并行计算_极致安卓-Termux/Aid learning开启WebGL手机GPU并行计算...
  10. MVP 模式实例解析(转)
  11. centos安装mysql wsl_windows 10 WSL 安装 Centos
  12. 运用递归的方法求解对称三对角矩阵的特征值——matlab实现
  13. matlab创建数组对象,如何在MATLAB中创建一个抽象类对象数组?
  14. jQuery表格新增行
  15. 怎样利用计算机随机分组,随机分组编制方法哪家强
  16. 5G NR 随机接入过程(2)
  17. 负载均衡设备oracle,高可用的Oracle数据库负载均衡技术--深信服AD系列应用交付平台...
  18. 汉堡包菜单_神圣的汉堡包!
  19. 汉诺塔(Tower of hanoi)
  20. AM335x启动流程(bootrom)

热门文章

  1. python面向对象编程的优点-Python 基础知识----面向对象编程
  2. python写文件读文件-python--文件流读写
  3. 2!=5 or 0在python中是否正确-python数据分析第二版:numpy
  4. python编程从入门到精通 叶维忠 pdf-叶维忠《Python编程从入门到精通》PDF
  5. python爬虫requests-Python爬虫---requests库快速上手
  6. python爬虫图片-如何用Python来制作简单的爬虫,爬取到你想要的图片
  7. python主流版本-python主流版本
  8. python php区别-JAVA、PHP、Python这3种编程语言有什么区别?
  9. python各个解释器的用途-【Python面试】 说说Python解释器种类以及特点?
  10. python代码怎么运行-python代码如何运行