Elasticsearch的认识

Posted 小黄师傅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch的认识相关的知识,希望对你有一定的参考价值。

1、Elasticsearch的认识

1.1 Elasticsearch概述及其应用领域介绍

当我们思考如何在海量数据中快速查找数据并获取准确结果时,Elasticsearch就起到了非常重要的作用。Elasticsearch是一种分布式的搜索引擎,可以用于全文检索、结构化检索和数据分析等领域。
具体来说,它的应用领域包括但不限于以下几个方面:
1.电商网站
电商网站需要提供快速的搜索和过滤功能,以便顾客快速找到自己所需要的商品,而Elasticsearch可以提供高效灵活的搜索结果。另外,电商网站也需要对商品进行分类、推荐等操作,Elasticsearch也可以针对这些需求提供有效的解决方案。
2.新闻媒体
在新闻媒体中,实时的搜索和数据分析非常重要。Elasticsearch不仅可以实现全文检索、数据过滤,还可以结合其他工具,如Kibana和Logstash等,实现对新闻数据的实时分析和展示。
3.日志分析
日志分析可以让软件开发人员识别和解决系统问题。在这种情况下,Elasticsearch可以处理和存储大量数据,并可以实现更高级的搜索、过滤、聚合等操作,以便使数据提供更多维度的分析视角。
4.网络安全领域
网络安全领域需要对大量的日志数据进行大数据分析,以便发现和防止黑客攻击。Elasticsearch可以快速搜索和过滤请求,同时提供高级聚合和可视化工具,在网络安全领域具有良好的应用前景。
综上所述,Elasticsearch由于其高效快速和易扩展等特点,已经成为了诸多行业中优秀的开源软件,相信在未来也会被更广泛的应用到越来越多的领域中。

1.2 Elasticsearch核心概念

1.节点(Node)
节点是Elasticsearch集群中的一个单独的服务器,可以容纳整个集群的一部分数据。它实际上是一个运行着Elasticsearch的服务器实例。
2.索引(Index)
索引是我们存储的文档的逻辑容器,一个索引中可以包含多个文档。每个文档都有一个唯一的ID,可以通过这个ID来标识和访问特定的文档。
3.分片(Shard)
分片是将索引分成多个小块的过程,这样每个节点就可以处理自己节点上的索引部分,从而达到分布式存储和查询的目的。
4.复制(Replica)
复制是将分片的副本存储在另一个节点上的过程。复制提高了集群的可用性,因为如果一个节点宕机,其它节点上的分片可以继续处理请求,并在恢复节点后重新分配数据。
5.文档(Document)
文档是Elasticsearch中的最小数据单元,可以是JSON、XML、html等格式。每个文档都有一个唯一的ID,并属于一个索引。
6.类型(Type)
从Elasticsearch 7.0开始,所谓类型已经被删除。如果之前使用了不同类型的文档,现在需要将它们重新建立为不同的索引(eg: products、users),以便将文档进行分类。
7.映射(Mapping)
映射定义了索引中文档的结构和字段类型。它决定了我们按照哪些字段进行索引和查询,需要根据实际需求创建映射。
8.查询(Query)
查询是向 Elasticsearch 提出请求的方式。它允许我们按照指定的条件搜索文档,并根据查询条件生成相关的分数。

1.3 Elasticsearch环境搭建

  1. 安装Java
    Elasticsearch和Kibana都需要Java运行时环境,请确保您已经安装了Java 8或以上版本。您可以使用以下命令检查Java版本:
java -version

如果Java未安装,则可以使用以下命令在服务器上安装Java 8:

sudo apt update
sudo apt install openjdk-8-jdk
  1. 下载并解压Elasticsearch
    您可以从Elasticsearch的官方网站 https://www.elastic.co/downloads/elasticsearch 下载最新版本的Elasticsearch。将下载的文件解压缩到所选目录(我们将其命名为/usr/local/elasticsearch),然后进入该目录。
  2. 配置Elasticsearch
    打开目录/usr/local/elasticsearch/config,并编辑elasticsearch.yml文件(您也可以创建自己的yml文件,并将其设置为配置文件)。在其中添加以下行,以便配置您的集群和节点名称:
cluster.name: my-cluster
node.name: my-node
  1. 启动Elasticsearch
    通过运行下面的命令来启动Elasticsearch:
cd /usr/local/elasticsearch/bin
./elasticsearch

现在,您的Elasticsearch节点正在运行,并在默认端口9200上提供服务。在浏览器中前往http://localhost:9200,您应该可以看到显示Elasticsearch状态的JSON响应。

  1. 下载并解压Kibana
    您可以从Kibana的官方网站 https://www.elastic.co/downloads/kibana 下载最新版本的Kibana。将下载的文件解压缩到所选目录(我们将其命名为/usr/local/kibana),然后进入该目录。
  2. 配置Kibana
    打开目录/usr/local/kibana/config,并编辑kibana.yml文件。在其中添加以下行,以便Kibana可以找到Elasticsearch:
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]
  1. 启动Kibana
    通过运行下面的命令启动Kibana:
cd /usr/local/kibana/bin
./kibana

现在,您的Kibana应用程序正在运行,您可以前往http://localhost:5601跳转到Kibana控制台。

深入理解ElasticSearch

本书涵盖了Elasticsearch的许多中高级功能,并介绍了缓存、ApacheLucene库以及监控等模块的内部运作机制。其中,还涉及一些实用案例,比如配置Elasticsearch参数、使用监控API等。


本书将探讨与Elasticsearch和Lucene相关的多个不同主题。首先,我们以介绍Lucene和Elasticsearch的基本概念作为开始,带领读者认识Elasticsearch提供的众多查询方式。在这里,将涉及和查询相关的不同主题,比如结果过滤以及如何为特定场景选择合适的查询方式。显然,Elasticsearch不仅仅只有查询功能。因此,本书还将介绍Elasticsearch新加入的聚集功能,以及众多能够赋予被索引数据意义的特性,并设法提供更佳的用户查询体验。


以上是关于Elasticsearch的认识的主要内容,如果未能解决你的问题,请参考以下文章

Docker 安装 Elasticsearch

docker安装elasticsearch

elasticsearch的安装部署

ElasticSearch(站内搜索)

elasticsearch配置文件详解

elasticsearch配置文件详解