elasticsearch文档索引的CRUD操作

Posted qianzeng

tags:

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

elasticsearch概念

1. 集群:一个或者多个节点组织在一起

2. 节点:一个节点是集群中的一个服务器,有一个名字来标识,默认是一个随机的漫威角色的名字

3. 分片:将索引划分为多份的能力,允许水平分割和扩展容量,多个分片响应请求,提高性能和吞吐量

4. 副本:创建分片的一份或者多分的能力,在一个节点失败其余节点可以顶上

 


 

elasticsearch与mysql对应关系

index(索引) --- 数据库

type(类型) --- 表

documents(文档) --- 行

fields --- 列

 


 

HTTP方法

GETPOST、HEAD、OPTIONS、PUTDELETE、TRACE、CONNECT

 


 

倒排索引

倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。

待解决问题:

  1、大小写转换问题

  2、词干抽取,如looking和look

  3、分词

  4、倒排索引文件过大 - 压缩编码

 


 

elasticelasticsearch文档、索引的CRUD操作

# 索引初始化操作
#
制定分片和副本的数量 # shards一旦设置不能修改 PUT test { "settings":{ "index":{ "number_of_shards":5, "number_of_replicas":1 } } } # 读取setting信息,多个之间的逗号没有空格 GET test/_settings GET _all/_settings GET .Kibana,test/_settings # 修改settings PUT test/_settings { "number_of_replicas":3 } # 保存文档,无需先新建类型job,1是id,不填会自动生成一个 PUT test/job/1 { "title":"elasticsearch文档、索引的CRUD操作", "city":"厦门", "company":{ "name":"美图", "company_addr":"厦门市软件园" } } # 获取job的信息 GET test/job/1 GET test/job/1?_source GET test/job/1?_source=title GET test/job/1?_source=title,city # 修改文档,方法一直接覆盖,方法二update PUT test/job/1 { "title":"elasticsearch文档、索引的CRUD操作", "city":"厦门", "company":{ "name":"美图", "company_addr":"厦门市软件园三期" } } PUT test/job/1/_update { "doc":{ "company_addr":"厦门市软件园三期" } } # 删除,类型不支持在Kibana删除 DELETE test/job/1 DELETE test/job   DELETE test

 

以上是关于elasticsearch文档索引的CRUD操作的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch学习笔记3:关于索引文档的CRUD操作(kibana)

Elasticsearch学习笔记3:关于索引文档的CRUD操作(kibana)

Elasticsearch学习笔记3:关于索引文档的CRUD操作(kibana)

第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作

Elasticsearch 7.x文档基本操作(CRUD)

四十一 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作增删改查