什么是Elasticsearch

本文介绍了Elasticsearch,它是分布式、高性能的搜索和分析系统。先阐述了搜索的概念,包括互联网和IT系统的搜索场景;接着指出用数据库做搜索性能差;还介绍了全文检索、倒排索引和Lucene;最后对Elasticsearch进行图解分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是Elasticsearch

Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统

1、什么是搜索?
2、如果用数据库做搜索会怎么样?
3、什么是全文检索、倒排索引和Lucene?
4、什么是Elasticsearch?

------------------------------------------------------------------------------------------------------------------------

1、什么是搜索?

百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜欢的电影,或者说找一本喜欢的书,或者找一条感兴趣的新闻(提到搜索的第一印象)
百度 != 搜索,这是不对的

垂直搜索(站内搜索)

互联网的搜索:电商网站,招聘网站,新闻网站,各种app
IT系统的搜索:OA软件,办公自动化软件,会议管理,日程管理,项目管理,员工管理,搜索“张三”,“张三儿”,“张小三”;有个电商网站,卖家,后台管理系统,搜索“牙膏”,订单,“牙膏相关的订单”

搜索,就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息

------------------------------------------------------------------------------------------------------------------------

2、如果用数据库做搜索会怎么样?

做软件开发的话,或者对IT、计算机有一定的了解的话,都知道,数据都是存储在数据库里面的,比如说电商网站的商品信息,招聘网站的职位信息,新闻网站的新闻信息,等等吧。所以说,很自然的一点,如果说从技术的角度去考虑,如何实现如说,电商网站内部的搜索功能的话,就可以考虑,去使用数据库去进行搜索。

1、比方说,每条记录的指定字段的文本,可能会很长,比如说“商品描述”字段的长度,有长达数千个,甚至数万个字符,这个时候,每次都要对每条记录的所有文本进行扫描,懒判断说,你包不包含我指定的这个关键词(比如说“牙膏”)
2、还不能将搜索词拆分开来,尽可能去搜索更多的符合你的期望的结果,比如输入“生化机”,就搜索不出来“生化危机”

用数据库来实现搜索,是不太靠谱的。通常来说,性能会很差的。

------------------------------------------------------------------------------------------------------------------------

3、什么是全文检索和Lucene?

(1)全文检索,倒排索引
(2)lucene,就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法。我们就用java开发的时候,引入lucene jar,然后基于lucene的api进行去进行开发就可以了。用lucene,我们就可以去将已有的数据建立索引,lucene会在本地磁盘上面,给我们组织索引的数据结构。另外的话,我们也可以用lucene提供的一些功能和api来针对磁盘上额

------------------------------------------------------------------------------------------------------------------------

4、什么是Elasticsearch?

(1)图解分析

### ES 的定义和含义 在 IT 领域中,“ES” 可能有多种解释,其中最常见的两种是指 **Elasticsearch** 和 **Embedded System**。 1. **Elasticsearch (ES)** 是一种分布式开源搜索引擎,基于 Apache Lucene 构建。它提供了全文搜索功能以及分析能力,能够处理大规模数据集并支持实时查询[^3]。 Elasticsearch 使用 JSON 文档作为其主要的数据结构形式,并通过 RESTful API 进行交互。 2. **Embedded System (嵌入式系统)** 是指专用于执行特定功能的小型计算机系统,通常集成于更大的设备之中。这些系统设计紧凑高效,在资源受限环境下运行良好[^4]。 ### QS 的定义和含义 “QS” 在信息技术范围内一般指的是 **Quantum Simulation (量子模拟)** 或者更广泛意义上的质量标准体系如 ISO 9001 质量管理体系认证中的 Quality Standard(质量标准)。然而根据所提供的参考资料来看: 这里讨论的是关于 **Quantum Information Science II**, 所以我们可以推测这里的 “QS” 应当指向 **Quantum Simulation** 方向。这是利用经典计算或者早期阶段的量子处理器来模仿自然界的量子现象的一种方法论[^1]。 ### CS 的定义和含义 对于缩写词 “CS”, 它可能代表多个术语: 1. 计算机科学(Computer Science),这是一个基础学科领域专注于理论算法、硬件架构及其应用软件开发等方面的研究与发展; 2. 缓冲存储器(Cache Storage),虽然这不是严格意义上属于IT行业内的唯一定义,但在某些上下文中也可能被提及,特别是在探讨性能优化时涉及到CPU缓存机制等问题时会遇到这个概念[^5]; 以下是几个关键点总结: - Computer Science 更加偏向学术层面描述整个行业的范畴; - Cache Storage 则聚焦于实际工程技术实现细节部分。 ```python # 示例代码展示如何连接至Elasticsearch服务端口默认设置情况下的基本配置方式 from elasticsearch import Elasticsearch es_client = Elasticsearch(hosts=["http://localhost:9200"]) if es_client.ping(): print("Connected to the Elastic cluster!") else: print("Could not connect to the Elastic cluster.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值