前言

最近开始尝试学习Elastic Search,因此决定做一些简单的整理,以供后续参考,快速上手使用ES。

简介

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。

可以简单地认为,ES是基于Lucene,进行了一些封装,可以作为一个独立的搜索服务。通过HTTP协议,将数据存放到ES中,并且向ES发出搜索请求以及得到回应。部署ES之后,可以为多个网站提供搜索服务。

同时,ES支持分布式,支持更多高级的搜索、数据分析等特性,作为入门级笔记,暂不多研究了。

安装

安装 jdk

需要安装1.8及以上版本的jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装配置环境变量后,命令行查看。

java -version

安装 elasticsearch-rtf

因为原生es是英文,中文使用者需要额外配置中文分词插件等,可使用一个预先配置好常用插件的发行版,地址:https://github.com/medcl/elasticsearch-rtf

按提示下载压缩包,以下以5.1.1为例。下载解压后,同时支持Win/Mac/Linux,进入bin目录。

# windows platform
cd bin
elasticsearch.bat

默认运行在 localhost:9200 端口,通过浏览器访问,显示类似如下内容,说明已经成功开启。

{

"name" : "nx1sDrr",

"cluster_name" : "elasticsearch",

"cluster_uuid" : "Lz0cLBOZQdya_zjTkipl2w",

"version" : {

"number" : "5.1.1",

"build_hash" : "5395e21",

"build_date" : "2016-12-06T12:36:15.409Z",

"build_snapshot" : false,

"lucene_version" : "6.3.0"

},

"tagline" : "You Know, for Search"

}

安装 head插件

类似于mysql,可以通过一些图形化的管理工具,来更直观地管理es。这里使用head插件。

地址:https://github.com/mobz/elasticsearch-head

按照文档说明进行安装,注意有多种安装方式:

  • 作为一个本地服务运行。需要电脑有nodejs环境,先下载项目,然后npm安装依赖,然后运行
  • 作为Chrome浏览器插件运行。
  • 通过docker运行。

对于本地没有nodejs环境的,建议使用Chrome插件形式,非常方便。

注意

如果状态为红色无法连接,可能是安全策略限制,找到config/elasticsearch.yml,加入以下内容,再重启es试试。

http.cors.enabled: true

http.cors.allow-origin: "*"

http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE

http.cors.allow-headers:"X-Requested-With, Content-Type, Content-Length, X-User"

安装 Kibana

Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。

这里安装Kibana,是要使用其中的dev tool,更方便地进行对ES的各种调试。

地址:https://www.elastic.co/downloads/past-releases

注意

Kibana需要和ES版本一致,本教程中使用5.1.1,因此需要在页面中找到5.1.1版本的Kibana进行下载。

解压后在bin下,找到kibana运行。运行后,打开 http://localhost:5601 ,看到如下界面,表示kibana已经正常运行。

切换到Dev Tools页面,左侧输入请求,右侧显示返回结果,便于调试。



以上就是ES环境配置的说明,需要安装的部分较多,也较为零散,需要耐心一点进行配置。

Elastic Search快速上手(1):简介及安装配置的更多相关文章

  1. Elastic Search快速上手(2):将数据存入ES

    前言 在上手使用前,需要先了解一些基本的概念. 推荐 可以到 https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.htm ...

  2. Elastic Search快速上手(3):搜索

    前言 存储好数据之后,便可通过RESTful API进行搜索. 详细文档可参考: --简单搜索https://www.elastic.co/guide/cn/elasticsearch/guide/c ...

  3. Elastic Search快速上手(4):细节补充

    模糊搜索 可以进行模糊搜索: GET job/type1/_search { "query":{ "fuzzy":{ "title":{ & ...

  4. twemproxy 简介、安装配置

    twemproxy 简介.安装配置 http://www.xuchanggang.cn/archives/993.html

  5. Elastic Search快速入门

    https://blog.csdn.net/weixin_42633131/article/details/82902812 通过这个篇文章可以快速入门,快速搭建一个elastic search de ...

  6. elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...

  7. elasticsearch系列一elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...

  8. Maven01——简介、安装配置、入门程序、项目构建和依赖管理

    1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse   maven量级 1.2 Maven好处 同 ...

  9. MongoDB入门学习笔记之简介与安装配置

    一.MongoDB简介 1.文档数据库 MongoDB是一款开源的文档型非关系数据库,具有高性能.高可靠性和自动扩展等特点.MongoDB中的每一条记录是一个文档,其数据存储结构为键/值对,类似JSO ...

随机推荐

  1. LG2467 地精部落

    题意 给出\(n\),求有几个\(W\)形的\(n\)的全排列(震荡) 思路 可以变求出第二个数比第一个数大的,再翻倍就好 设\(f[i][j]\)表示\(i\)个数中\(j\)个数不符合序列 转移时 ...

  2. 更新ubuntu的对应源配置文件

    UBUNTU中安装依赖包,出现如下错误:E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/o ...

  3. antd源码分析之——标签页(tabs 3.Tabs的滚动效果)

    由于ant Tabs组件结构较复杂,共分三部分叙述,本文为目录中第三部分(高亮) 目录 一.组件结构 antd代码结构 rc-ant代码结构 1.组件树状结构 2.Context使用说明 3.rc-t ...

  4. Flutter移动电商实战 --(11)首页_屏幕适配方案和制作

    1.flutter_ScreenUtil插件简介 flutter_ScreenUtil屏幕适配方案,让你的UI在不同尺寸的屏幕上都能显示合理的布局. 插件会让你先设置一个UI稿的尺寸,他会根据这个尺寸 ...

  5. QQ输入法中英文标点符号快速切换

    QQ输入法中英文标点符号快速切换 全角半角切换 shift+ Space 全角半角切换 双击shift 中英文标点符号快速切换   Ctrl+.

  6. 发布机制-灰度发布-例子:Windows

    ylbtech-发布机制-灰度发布-例子:Windows 在传统软件产品发布过程中(例如微软的Windows 7的发布过程中),一般都会经历Pre-Alpha.Alpha.Beta.Release c ...

  7. LVS系列一、LVS集群-NAT模式

    一. 集群概述 1. 什么是集群? 一组各自相互独立且又相互依赖的,通过高速网络互联的计算机组成的一个计算机组, 以单一的系统模式加以管理, 为用户提供服务, 对用户来说, 用户只会认为对方是一个服务 ...

  8. 阻塞IO和非阻塞IO的区别

    转载地址: http://blog.sina.com.cn/s/blog_a46817ff0101g0gv.html http://blog.csdn.net/nodeathphoenix/artic ...

  9. 封装Button ,封装UITableView,封装UICollectionView

    ---恢复内容开始--- 封装Button ,封装UITableView,封装UICollectionView: 1.实现Button的创建和点击事件不用分开操作处理; 2.实现UITableView ...

  10. 5.Linux文件权限

    Linux用户类别 root:这是系统特权用户类,他们都有访问root登录账号的权限 owner:这是实际拥有文件的用户 group:这是共享文件的组访问权的用户类的用户组名称 world:这是不属于 ...