建设法规的网站,怎么进入官方网站查询,浏阳网站制作公司,沈阳网站建设模块一、ElasticSearch简介
1、 Elasticsearch Elasticsearch是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域#xff0c;Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。特点#xff1a;
分布式的实时文件存储#xff0c;每个字段都…
一、ElasticSearch简介
1、 Elasticsearch Elasticsearch是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。特点
分布式的实时文件存储每个字段都被索引并可被搜索分布式的实时分析搜索引擎–做不规则查询可以扩展到上百台服务器处理PB级结构化或非结构化数据 Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性从而让全文搜索变得简单。
2 、ES能做什么
全文检索全部字段、模糊查询搜索、数据分析提供分析语法例如聚合
3、 基本概念
1、Index索引
动词相当于 MySQL 中的 insert
名词相当于 MySQL 中的 Database2、Type类型
在 Index索引中可以定义一个或多个类型。
类似于 MySQL 中的 Table每一种类型的数据放在一起3、Document文档
保存在某个索引Index下某种类型Type的一个数据Document文档是 JSON 格
式的Document 就像是 MySQL 中的某个 Table 里面的内容二、安装
1、教程
地址☞一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程图解】
三、初步检索
1、_cat
GET /_cat/nodes查看所有节点
GET /_cat/health查看 es 健康状况
GET /_cat/master查看主节点
GET /_cat/indices查看所有索引 show databases;测试案例
GET /_cat/nodes查看所有节点 GET /_cat/health查看 es 健康状况 GET /_cat/master查看主节点 GET /_cat/indices查看所有索引 show databases;
2、索引一个文档保存
保存一个数据保存在哪个索引的哪个类型下指定用哪个唯一标识。 PUT customer/external/3: 在 customer 索引下的external 类型下保存 3号数据为
{name:zhang san
}提示 PUT 和 POST 都可以 POST 新增。如果不指定 id会自动生成 id。指定 id 就会修改这个数据并新增版本号 PUT 可以新增可以修改。PUT 必须指定 id由于 PUT 需要指定 id我们一般都用来做修改操作不指定 id 会报错。 3、查询文档
GET customer/external/3查询结果
字段解释
{_index: customer, //在哪个索引_type: external, //在哪个类型_id: 3, //记录 id_version: 4, //版本号_seq_no: 14, //并发控制字段每次更新就会1用来做乐观锁_primary_term: 24, //同上主分片重新分配如重启就会变化found: true,_source: { //真正的内容name: zhang san}
}4、更新文档
POST customer/external/3
{name:Li si
}或者 POST customer/external/3/_update
{doc:{name:hello postman}
}或者 PUT customer/external/3
{name:Wang mazi
}使用POST customer/external/3 使用POST customer/external/3/_update 使用 PUT customer/external/3
提示不同点对比 POST 操作会对比源文档数据如果相同不会有什么操作文档 version 不增加PUT 操作总会将数据重新保存并增加 version 版本带_update 对比元数据如果一样就不进行任何操作。看场景对于大并发更新不带 update对于大并发查询偶尔更新带 update对比更新重新计算分配规则。 更新同时增加属性
PUT 和 POST 不带_update 也可以
POST customer/external/3/_update
{ doc: { name: Jane Doe, age: 20 }
}5、删除文档索引
5.1 删除文档
//删除文档
DELETE customer/external/3删除后查询、查询不到相关数据
5.2 删除索引
//删除索引
DELETE customer连续删除同一个索引、第二次删除会报错索引不存在。
6、bulk 批量 API
使用kibana工具
POST /customer/external/_bulk
{index:{_id:1}}
{name: John Doe }
{index:{_id:2}}
{name: Jane Doe }语法格式
{ action: { metadata }}\n
{ request body }\n
{ action: { metadata }}\n
{ request body }\n测试 POST /customer/external/_bulk
POST /_bulk
{ delete: { _index: website, _type: blog, _id: 123 }}
{ create: { _index: website, _type: blog, _id: 123 }}
{ title: My first blog post }
{ index: { _index: website, _type: blog }}
{ title: My second blog post }
{ update: { _index: website, _type: blog, _id: 123} }
{ doc : {title : My updated blog post} }提示 bulk API 以此按顺序执行所有的 action动作。如果一个单个的动作因任何原因而失败它将继续处理它后面剩余的动作。当 bulk API 返回时它将提供每个动作的状态与发送的顺序相同 所以您可以检查是否一个指定的动作是不是失败了 7、样本测试数据
准备了一份顾客银行账户信息的虚构的 JSON 文档样本。每个文档都有下列的 schema模式)
{account_number: 0,balance: 16623,firstname: Bradshaw,lastname: Mckenzie,age: 29,gender: F,address: 244 Columbus Place,employer: Euron,email: bradshawmckenzieeuron.com,city: Hobucken,state: CO
}数据地址https://github.com/elastic/elasticsearch/blob/7.5/docs/src/test/resources/accounts.json