云存储能用来做网站吗,apache做网站,做地方旅游网站,怎么开发属于自己的app软件目录
前言
一、ElasticSearch是什么#xff1f;
二、使用步骤#xff08;python版#xff09;
1.引入包
2.连接数据库
3.创建索引
4.写入数据
5.查询数据
三、相关工具介绍
1.ES浏览器插件
总结 前言
随着数据量的不断增加#xff0c;传统的查询检索在速度上遇…目录
前言
一、ElasticSearch是什么
二、使用步骤python版
1.引入包
2.连接数据库
3.创建索引
4.写入数据
5.查询数据
三、相关工具介绍
1.ES浏览器插件
总结 前言
随着数据量的不断增加传统的查询检索在速度上遇到了瓶颈这个时候就需要一个更具性能的技术来支持大数据量的查询检索本文就介绍下Elasticsearch。 一、ElasticSearch是什么
ElasticsearchES是一个基于Apache Lucene构建的开源搜索引擎它提供了强大的搜索、分析和聚合功能具有快速、可扩展和易于使用的特点。为了更好地理解ES以下是一些关键概念
对于新手来说有限关注索引、文档的概念即可以及就是写入、查询。 索引Index 类似于关系数据库中的数据库。它是一个逻辑命名空间用于存储相关文档。索引可以包含多个类型type尽管在Elasticsearch 7.0之后一个索引只允许有一个类型。 类型Type在Elasticsearch 7.0之后已废弃 在早期版本中类型类似于关系数据库中的表用于区分索引中的不同文档类型。从Elasticsearch 8.0开始类型的概念已经被移除。 文档Document 存储在Elasticsearch中的JSON对象。文档由字段组成每个字段都有其特定的数据类型如文本、数字或日期。 字段Field 文档中的数据单元类似于关系数据库中的列。字段可以是简单的数据类型也可以是复杂的数据结构如对象或数组。 映射Mapping 定义索引中每个类型的字段及其数据类型的过程。映射还定义了如何分析字段值以便它们可以被有效地索引和搜索。 节点Node Elasticsearch集群中的一个服务器实例。节点可以有不同角色如主节点管理集群状态、数据节点存储数据和协调节点处理客户端请求。 集群Cluster 一个或多个节点的集合它们协同工作提供索引和搜索功能。集群提供跨所有节点的联合索引和搜索能力。 分片Shard 索引可以被分割成多个部分每个部分就是一个分片。分片可以分布在集群中的不同节点上这允许水平扩展和性能提升。 副本Replica 分片的副本用于提供数据的冗余和高可用性。副本还可以处理搜索请求提高搜索性能。 查询DSLDomain Specific Language Elasticsearch使用一种基于JSON的查询语言称为查询DSL用于执行搜索和其他操作。
这些概念构成了Elasticsearch的核心架构和操作方式。了解这些概念对于有效地使用Elasticsearch至关重要。
二、使用步骤python版
1.引入包
from elasticsearch7 import Elasticsearch, helpers
2.连接数据库
# 1. 创建Elasticsearch连接
es Elasticsearch(hosts[http://127.0.0.1:9200], # 服务地址与端口http_auth(user, password), # 用户名密码
)
3.创建索引
# 2. 定义索引名称
index_name test_index_01# 3. 如果索引已存在删除它仅供演示实际应用时不需要这步
if es.indices.exists(indexindex_name):es.indices.delete(indexindex_name)# 4. 创建索引
es.indices.create(indexindex_name)
4.写入数据
# 构建测试数据
docs[]
docs.append(He is a good boy)
docs.append(I like to eat apple)
docs.append(She is a good girl)
docs.append(My name is John)
docs.append(My team is the best)# 5. 灌库指令
# to_keywords 进行了分词处理以便全文检索
actions [{_index: index_name, _source: {keywords: to_keywords(doc), text: doc}}for doc in docs
]# 6. 文本灌库
helpers.bulk(es, actions)
5.查询数据
# ES 的查询语言
# keywords 是写入数据时候定义的字段本例也可以按text原始内容查询
search_query {match: {keywords: to_keywords(query_string)}}
res es.search(indexindex_name, querysearch_query, sizetop_n)
# 取出查询到的记录
return [hit[_source][text] for hit in res[hits][hits]]
三、相关工具介绍
Elasticsearch通常与两个其他开源项目一起被提及这三个项目合称为“Elastic Stack”也被称为“ELK Stack”。三剑客这个名称听起来更霸气。这三个项目分别是 Elasticsearch 强大的搜索引擎用于快速地存储、搜索和分析大量数据。它提供实时搜索和数据分析功能。 Logstash 一个数据收集引擎用于处理、丰富和传输数据。Logstash可以从多个来源如日志文件、系统日志等收集数据然后转换和传输这些数据到Elasticsearch。 Kibana 一个数据可视化工具用于在Elasticsearch中查看和分析数据。Kibana提供了丰富的可视化功能如图表、地图和仪表板可以帮助用户理解复杂的数据模式。
这三个工具共同工作提供了一个强大的解决方案用于数据收集、存储、搜索、分析和可视化。由于Elasticsearch、Logstash和Kibana的首字母分别是E、L和K因此它们通常被称为“ELK Stack”。不过随着Elastic Stack的发展现在还包括了其他工具如Beats轻量级数据传输工具因此有时也被称为“Elastic Stack”。
1.ES浏览器插件
这个工具专门介绍下他可以方便的查看ES的index、具体index的数据、以及查询。这个工具主要是很轻量化属于edge、Chrome浏览器的一个插件这里我以edge为例说明使用。
edge浏览器右上角…——扩展——打开Microsoft Edge加载项——左上角搜索框输入“elasticsearch head”右侧就可以搜索出这个插件 点击安装即可。
下次使用的时候点击浏览器扩展再点击es-client即可打开主界面 然后就是具体使用了自己操作下就会了很简单的。 总结
以上就是今天要讲的内容本文主要介绍了ES的初步使用包括基本概念、代码连接数据库、创建索引、写数据、查数据等最后介绍了一些相关的工具。
当然实践才是更好的学习途径。