ElasticSearch教程(一)——简介与安装
背景
公司一直在使用ES作为分布式的搜索引擎,由于数据量的不断升高,ES出现了性能瓶颈。公司决定进一步的优化ES配置,所以最近几天在研究ES,最近会更新一系列ES的教程,希望大家持续关注。不多说了,Action。
简介
ElasticSearch一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。它是用Java开发的,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
ElasticSearch的特性:
对于ES的特性,我是从官网翻译过来,如果有不妥的地方,希望大家提出宝贵的建议。
- 开源的(不解释)
- 它是分布式和高度可用的搜索引擎。
- 每个索引根据配置分片的数量完成完全分片。
- 每个碎片都可以有一个或多个副本。
- 读/搜索操作可以在任何复制分片上执行。
- 支持多租户与多种类型。
- 支持一个以上的索引。
- 支持一个以上的每个索引类型。
- 指数级配置(数量的碎片,索引存储,…)。
- 各种组api
- HTTP RESTful API
- 本地Java API。
- 所有api执行自动从路由节点操作。
- 面向文档的
- 可靠异步写操作长期持续。
- (附近)实时搜索。
- 基于Lucene
- 每个碎片都是一个功能齐全的Lucene索引
- 所有Lucene通过简单的配置/插件非常容易的暴露出来。
- 每个操作的一致性
- 单文档级别操作都是原子的、一致的、孤立的和持久的。
对于ES了解一个大概情况就可以了。下面我们下载和安装ES(我们以windows操作系统和Elasticsearch 2.3.1为例,其实在linux上安装没有区别):
下载
下载地址:https://www.elastic.co/downloads/elasticsearch
Elasticsearch的所有版本都有四种打包格式:ZIP、TAR、DEB、RPM,我们使用ZIP就可以了。
目录结构
bin:可以执行文件
config:配置文件
data:es存放数据的文件
lib:运行所需类库
logs:日志文件
modules:加载模块列表(其实是必要插件)
plugins:插件文件(需要自定义安装)
注:刚解压的ES并没有这么多目录,只有bin、config、lib、modules,其他都是在第一次运行之后自动生成的。
安装步骤
Download and unzip the latest Elasticsearch distribution
下载最新Elasticsearch版本,解压到指定目录。
Run
bin/elasticsearch
on Unix orbin\elasticsearch.bat
on Windows在Unix上运行
bin/elasticsearch
或者在Windows上运行bin\elasticsearch.bat
(命令行,进入 cd E:\ES\elasticsearch-2.3.1\bin 目录或者直接双击elasticsearch.bat运行)Run curl -X GET http://localhost:9200/
运行测试
在浏览器里测试一下:
如果你得到的status是200那它意味着所有的事情都ok啦…是不是很简单?
让我们看看JSON的每个字段代表的含义:
Ok:当为true时,意味着请求成功。
Status:发出请求后的HTTP的错误代码。200表示一切正常。
Name:我们Elasticsearch实例的名字。在默认情况下,它将从一个巨长的名字列表中随机选择一个。
Version:这个对象有一个number字段,代表了当前运行的Elasticsearch版本号,和一个Snapshot_build字段,代表了你当前运行的版本是否是从源代码构建而来。
Tagline:包含了Elasticsearch的第一个tagline: “You Know, for Search.”
好,我们这篇博客就到这里,下篇博客ElasticSearch教程(二)———ElasticSearch基本插件head,我们介绍一个ES的插件,并且使用这个插件学习对ES的基本操作,敬请期待。
【推荐】中国电信天翼云云端翼购节,2核2G云服务器一口价38元/年
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 几种数据库优化技巧
· 聊一聊坑人的 C# MySql.Data SDK
· 使用 .NET Core 实现一个自定义日志记录器
· [杂谈]如何选择:Session 还是 JWT?
· 硬盘空间消失之谜:Linux 服务器存储排查与优化全过程
· 一个.NET开源、易于使用的屏幕录制工具
· 【经验】几种数据库优化技巧
· C#中 Task 结合 CancellationTokenSource的妙用
· Superpower:一个基于 C# 的文本解析工具开源项目
· ASP.NET Core EventStream (SSE) 使用以及 WebSocket 比较