当前位置:文档之家› 【黑马程序员】ElasticSearch-入门

【黑马程序员】ElasticSearch-入门

【黑马程序员】ElasticSearch-入门
【黑马程序员】ElasticSearch-入门

【黑马程序员】ElasticSearch-入门

一.前言

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,

Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作

的。

Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的Restful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:

(1)分布式的实时文件存储,每个字段都被索引并可被搜索。

(2)分布式的实时分析搜索分布式的实时分析搜索引擎。

(3)可以扩展到上百台服务器,处理PB级结构化或非结构化数据。

而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的Restful API、各种语言

的客户端甚至命令行与之交互。

二.安装

在安装Elasticsearch引擎之前,必须安装ES需要的软件环境,安装Java JDK和配置JAVA_HOME环境变量:

1.首先从Oracle官网下载和安装Java SE开发包:

由于ElasticSearch对JRE的版本是很敏感的,错误的版本,会导致ElasticSearch无法运行,我运行的项目ElasticSearch版本是elasticsearch-2.4.4,所以对应Java SE版本是Java SE 8[Java Platform(JDK)8u121]。但是我们并没有看到对应Java SE版本,那么就得从Java Archive下载合适的版本,具体对应版本号如下所示:

下载并安装Java SE开发包之后,打开Java控制面板,把自动更新选项勾选掉,防止其自动更新,导致后面ES运行报错。具体操作如下所示:

Java SE开发包安装完成之后,需要在服务器上创建JAVA_HOME环境变量

点击“计算机”的属性->高级系统设置(Advanced System Setting)->高级->环境变量(Environment Variables),新建一个用户环境变量JAVA_HOME,设置变量值是:C:\Program Files\Java\jdk1.8.0_121

注释:在Windows系统中,“%环境变量名%”用法的含义是获取指定环境变量的值,创建JAVA_HOME环境变量的作用,是由于安装ElasticSearch需要引用Java SE开发包。Java SE开发包安装完成之后,需要在服务器上创建JAVA_HOME环境变量

点击“计算机”的属性->高级系统设置(Advanced System Setting)->高级->环境变量(Environment Variables),新建一个用户环境变量JAVA_HOME,设置变量值是:C:\Program Files\Java\jdk1.8.0_121

注释:在Windows系统中,“%环境变量名%”用法的含义是获取指定环境变量的值,创建JAVA_HOME环境变量的作用,是由于安装ElasticSearch需要引用Java SE开发包。

2.安装ElasticSearch:

从ElasticSearch官网下载中心下载ElasticSearch 2.4.4版本安装包,具体版本号在历史记录里面:

将zip文件解压到C盘,进入C:\elasticsearch-2.4.4\bin 目录,双击执行elasticsearch.bat,该脚本文件执行ElasticSearch安装程序,稍等片刻,打开浏览器,输入http://localhost:9200,显示以下画面,说明ES安装成功。

安装head插件:

head插件是ES的一个可视化管理插件,用来监视ES的状态,并通过head客户端和ES服务进行交互,比如创建映

射、创建索引等,head的项目地址在https://https://www.doczj.com/doc/f814576815.html,/mobz/elasticsearch-head。

从ES6.0开始,head插件支持使得node.js运行。

1、安装node.js

2、下载head并运行

git clone git://https://www.doczj.com/doc/f814576815.html,/mobz/elasticsearch-head.git cd elasticsearch-head npm install npm run start open

HTTP://本地主机:9100 /

3、运行

打开浏览器调试工具发现报错:

Origin null is not allowed by Access-Control-Allow-Origin.

原因是:head插件作为客户端要连接ES服务(localhost:9200),此时存在跨域问题,elasticsearch默认不允许跨

域访问。

解决方案:

设置elasticsearch允许跨域访问。

在config/elasticsearch.yml 后面增加以下参数:

#开启cors跨域访问支持,默认为false http.cors.enabled: true #跨域访问允许的域名地址,(允许所有域名)以上使

用正则http.cors.allow-origin: /.*/

注意:将config/elasticsearch.yml另存为utf-8编码格式。

成功连接ES

相关主题
文本预览
相关文档 最新文档