Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。
ElasticSearch 是基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
核心特点如下:
Elasticsearch 当前最新版本是7.14(2021年07月30日)
ES 早期版本需要JDK,在7.X版本后已经集成了 JDK,已无需第三方依赖。
阿里
腾讯
百度
京东
美团
小米
滴滴
携程
今日头条
贝壳找房
360
IBM
顺丰快递
Elasticsearch 集群是一组连接在一起的一个或多个 Elasticsearch 节点实例。Elasticsearch 集群的功能在于在集群中的所有节点之间分配任务,进行搜索和索引。
节点是 Elasticsearch 的实例。实际业务中,我们会说:ES集群包含3个节点、7个节点。这里节点实际就是:一个独立的 Elasticsearch 进程,一般将一个节点部署到一台独立的服务器或者虚拟机、容器中。
不同节点根据角色不同,可以划分为:
5.X 以及之前的 2.X、1.X 版本 ES支持一个索引多个type的,举例 ES 6.X 中的Join 类型在早期版本实际是多 Type 实现的。在6.0.0 或 更高版本中创建的索引只能包含一个 Mapping 类型。Type 将在Elasticsearch 7.0.0中的API中弃用,并在8.0.0中完全删除。
https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html
文档是存储在 Elasticsearch 中的 JSON 文档。它等效于关系数据库表中的一行记录。
当文档数量增加,硬盘容量和处理能力不足时,对客户端请求的响应将延迟。在这种情况下,将索引数据分成小块的过程称为分片,可改善数据搜索结果的获取
副本是 分片的对应副本,用在极端负载条件下提高查询吞吐量或实现高可用性。所谓高可用主要指:如果某主分片1出了问题,对应的副本分片1会提升为主分片,保证集群的高可用。
可以使用以下语法删除现有索引:DELETE <index_name>
支持通配符删除:DELETE my_*
GET _cat/indices
PUT test_001/_mapping
{
"properties": {
"title":{
"type":"keyword"
}
}
}
GET test_001/_doc/1
当你在互联网上搜索有关 Apple 的信息时。它可以显示有关水果或苹果公司名称的搜索结果。
同样,当我们从 Elasticsearch 中搜索文档(记录)时,你会对获取所需的相关信息感兴趣。基于相关性,通过Lucene评分算法计算获得相关信息的概率。
ES 会将相关的内容都返回给你,只是:计算得出的评分高的排在前面,评分低的排在后面。计算评分相关的两个核心因素是:词频和逆向文档频率(文档的稀缺性)。
大体可以解释为:单篇文档词频越高、得分越高;多篇文档某词越稀缺,得分越高。
https://cloud.tencent.com/developer/article/1755542?from=article.detail.1826421
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。