ElasticSearch学习笔记<一>

ElasticSearch学习笔记<一>
1.ElasticSearch(简称ES)是什么
Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,可以快速地储存、搜索和分析海量数据。可以用于搜索各种文档并支持多租户。
在这里插入图片描述

2 应用场景
▶ 在线网上商店,允许客户搜索您销售的产品。在这种情况下,可以使用Elasticsearch存储整个产品目录和库存,并为它们提供搜索和自动填充建议。

▶ 收集日志或交易数据,并分析和挖掘此数据以查找趋势,统计信息,摘要或异常。在这种情况下,您可以使用Logstash来收集,聚合和解析数据,然后让Logstash将此数据提供给Elasticsearch。一旦数据在Elasticsearch中,您就可以运行搜索和聚合来挖掘您感兴趣的任何信息。

▶ 价格警报平台,允许精通价格的客户指定一条规则,例如“我有兴趣购买特定的电子产品,如果小工具的价格在下个月内从任何供应商降至X美元以下,我希望收到通知” 。在这种情况下,您可以刮取供应商价格,将其推入Elasticsearch并使用其反向搜索功能来匹配价格变动与客户查询,并最终在发现匹配后将警报推送给客户。

3 重要概念
▶ 集群Cluster:集群是一个或多个节点的集合,它们共同保存您的整个数据,并提供跨所有节点的联合索引和搜索功能。

▶ 节点Node:节点是作为集群一部分的单个服务器,存储数据并参与群集的索引和搜索功能。

▶ 索引Index:索引是具有某些类似特征的文档集合。索引由名称标识,必须全部小写,此名称用于在对其中的文档执行索引,搜索,更新和删除操作时引用索引。

▶ 文档Document:文档是可以编制索引的基本信息单元。Index 里面单条的记录称为 Document。

▶ 分片和副本:索引可能存储大量可能超过单个节点的硬件限制的数据。为了解决这个问题,Elasticsearch提供了将索引细分为多个称为分片的功能。
在这里插入图片描述

4 核心模块
▶ analysis:主要负责词法分析及语言处理,也就是我们常说的分词,通过该模块可最终形成存储或者搜索的最小单元 Term。

▶ index 模块:主要负责索引的创建工作。

▶ store 模块:主要负责索引的读写,主要是对文件的一些操作,其主要目的是抽象出和平台文件系统无关的存储。

▶ queryParser 模块:主要负责语法分析,把我们的查询语句生成 Lucene 底层可以识别的条件。

▶ search 模块:主要负责对索引的搜索工作。

▶ similarity 模块:主要负责相关性打分和排序的实现。

5 检索方式

☑ 单个词查询:指对一个 Term 进行查询。比如若要查找包含字符串“Lucene”的文档,则只需在词典中找到 Term“Lucene”,再获得在倒排表中对应的文档链表即可。

☑ AND:指对多个集合求交集。比如若要查找既包含字符串Lucene又包含字符串Solr的文档,则查找步骤如下:在词典中找到 Term Lucene得到Lucene对应的文档链表。在词典中找到 TermSolr,得到Solr对应的文档链表。合并链表,对两个文档链表做交集运算。

☑ OR:指多个集合求并集。比如,若要查找包含字符串Luence或者包含字符串Solr的文档,则查找步骤如下同上,对两个文档链表做并集运算,合并后的结果包含Lucene或者包含Solr。

☑ NOT:指对多个集合求差集。比如若要查找包含字符串Solr但不包含字符串Lucene的文档,则查找步骤如下同上,对两个文档链表做差集运算,用包含Solr的文档集减去包含Lucene的文档集,运算后的结果就是包含Solr但不包含Lucene。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值