一、Elasticsearch介绍和安装

1.1 介绍

 Elastic

Elastic官网:https://www.elastic.co/cn/

Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。

 Elasticsearch

Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch

Elasticsearch具备以下特点:

  • 分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)
  • Restful风格,一切API都遵循Rest原则,容易上手
  • 近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。

版本

目前Elasticsearch最新的版本是6.4.2,我这里使用的版本是6.2.4

安装Elasticsearch前提条件:JDK1.8及以上

1.2 安装和配置

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

安装:Elasticsearch无需安装,解压即用。

运行:进入elasticsearch/bin目录,可以看到下面的执行文件:

双击运行

可以看到绑定了两个端口:

  • 9300:Java程序访问的端口
  • 9200:浏览器、postman访问的端口

我们在浏览器中访问:http://127.0.0.1:9200

我在浏览器上安装了一个插件所显示的效果

看到了上面的信息,说明你的Elasticsearch已经安装成功了,但是为了方便我们开发的时候查看数据,我推荐安装一个Elasticsearch的客户端工具:Head。

在此之前先将ElasticSearch安装为Windows服务。

1.3 ElasticSearch安装为Windows服务

  命令行启动:

启动时通过cmd直接在elasticsearch的bin目录下执行elasticsearch 。这样直接启动的话集群名称会默认为elasticsearch,节点名称会随机生成。

停止就直接在cmd界面按Ctrl+C 。

其实我们也可以将elasticsearch设置为windows系统服务: elasticsearch的bin目录下有一个elasticsearch-service.bat

进入bin目录下执行:

然后在系统服务中可以看到Elasticsearch已成为系统服务。 

elasticsearch-service.bat后面还可以执行这些命令 
install: 安装Elasticsearch服务 
remove: 删除已安装的Elasticsearch服务(如果启动则停止服务) 
start: 启动Elasticsearch服务(如果已安装) 
stop: 停止服务(如果启动) 
manager:启动GUI来管理已安装的服务

下面我讲述的是如何安装Head插件。

1.4 安装Head插件及NSSM

1 什么是Head

  Ealsticsearch只是后端提供各种API,那么怎么直观的使用它呢?

Elasticsearch-head是一款专门针对于Elasticsearch的客户端工具,是一个基于node.js的前端工程

Elasticsearch-head配置包,下载地址:https://github.com/mobz/elasticsearch-head

2 安装

注意:es5以上版本安装head需要安装node和grunt

第一步:从地址:https://nodejs.org/en/download/ 下载相应系统的msi,双击安装。

第二步:安装完成用cmd进入安装目录执行 node -v可查看版本号

能看到版本号说明node安装成功

第三步:执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号

3 配置运行

第一步:进入Elasticsearch安装目录下的config目录,修改elasticsearch.yml文件.在文件的末尾加入以下代码

http.cors.enabled:
true

http.cors.allow-origin:
"*"

node.master: true

node.data: true

然后去掉network.host: 192.168.0.1的注释并改为network.host: 0.0.0.0,去掉cluster.name;node.name;http.port的注释(也就是去掉#)

第二步:双击elasticsearch.bat重启Elasticsearch

第三步:在https://github.com/mobz/elasticsearch-head中下载head插件,选择下载zip

第四步:解压到指定文件夹下,D:\environment\elasticsearch-head-master
进入该文件夹,修改D:\environment\elasticsearch-head-master\Gruntfile.js
在对应的位置加上hostname:’*’

第五步:打开cmd命令行窗口 ,在D:\environment\elasticsearch-head-master
下执行npm install 安装,完成后执行grunt server 或者npm run
start 运行head插件,如果运行不成功建议重新安装grunt。

4 使用NSSM将elasticsearch-head插件安装为Windows服务

在当前目录下,新建文件run.bat  内容: npm run start

  • 下载NSSM:http://www.nssm.cc/download
  • NSSM解压,eg:E盘,进入到E:\nssm-2.24\win64 ,执行cmd

  • nssm install elasticsearch-head 【nssm install <服务名> 例如:nssm install Elasticsearch(自定义服务名)】 弹出如下界面

Path: 填写启动文件路径(${LOGSTASH_HOME}\bin\xxx.bat)
Startup directory : 填写启动文件目录(${LOGSTASH_HOME}\bin)
Detail : 填写服务名称
Dependencies : 填写此服务启动需要依赖哪个服务(一般配置为要先启动elasticsearch,再启动logstash)

附:nssm常用命令:

nssm install servername //创建servername服务
nssm start servername //启动服务
nssm stop servername //暂停服务
nssm restart servername //重新启动服务
nssm remove servername //删除创建的servername服务

5 成功

打开浏览器访问:http://127.0.0.1:9100

1.5 elasticsearch-head的使用

参考:elasticsearch-head的使用

1.6 安装Ik分词器

  ElasticSearch 默认采用的分词器, 是单个字分词 ,效果很差 ,所以我们需要安装一个更实用的分词器,这里采用IK分词器

搜索【IK Analyzer 3.0】

http://www.oschina.net/news/2660

Lucene的IK分词器早在2012年已经没有维护了,现在我们要使用的是在其基础上维护升级的版本,并且开发为Elasticsearch的集成插件了,与Elasticsearch一起维护升级,版本也保持一致,最新版本:6.4.2

1 下载

注意:你的Elasticsearch和IK分词器必须版本统一

源码下载地址:https://github.com/medcl/elasticsearch-analysis-ik/tree/6.2.x

jar包下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

2 安装:无需安装,解压即可使用

我们将其改名为ik,并复制到Elasticsearch的解压目录,如下图所示

然后重启elasticsearch:

Ik分词器安装成功。

3 IK扩展词和停用词的简单介绍

扩展词和停用词文件:

4 测试

OK,到这里Elasticsearch环境搭建就成功了

参考:Elasticsearch环境搭建和介绍(Windows)

Elasticsearch环境搭建和介绍(Windows)的更多相关文章

  1. Libgdx环境搭建及介绍

    Libgdx简单介绍: libgdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成.ibgdx兼容大多数微机平台(标准JavaSE实现,能执行在Mac.Linux.Win ...

  2. linux/centos elasticsearch 环境搭建 安装 运行 使用

    环境搭建也是有些坑的存在,所以整理了一下搭建流程,安全无痛. ElasticSearch是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例. 一.java 环境 直接apt安装火箭一 ...

  3. 环境搭建文档——Windows下的Python3环境搭建

    前言 背景介绍: 自己用Python开发了一些安卓性能自动化测试的脚本, 但是想要运行这些脚本的话, 本地需要Python的环境. 测试组的同事基本都没有安装Python环境, 于是乎, 我就想直接在 ...

  4. Jmeter环境搭建详细介绍

    [前言] 欢迎来到我的博客,知识在于分享,如有不足之处,希望指出,大家共同进步学习! [JDK检查和安装] 现在市面上比较普遍的性能测试工具无非就LoadRunner和Jmeter,本人一直秉持着便宜 ...

  5. 分布式搜索elasticsearch 环境搭建

    1.elasticsearch安装 elasticsearch的安装超级easy,解压即用(要事先安装好java环境). 到官网 http://www.elasticsearch.org下载最新版的 ...

  6. Elasticsearch核心技术(一):Elasticsearch环境搭建

    磨刀不误砍柴工,要学习Elasticsearch,首先要搭建起来一套学习环境,本文为手把手教你在MacOS上面搭建Elasticsearch学习环境. 1.1 Elasticsearch安装 Elas ...

  7. AngularJS4.0环境搭建详解--windows系统环境

    第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...

  8. 环境搭建 - Tomcat(Windows)

    Tomcat环境搭建 本文以Windows7下搭建tomcat-8.5.15为示例 下载tomcat压缩包 网址:Tomcat 非C盘根目录新建文件夹:Tomcat D:\tomcat 将tomcat ...

  9. 环境搭建 - Maven(Windows)

    Maven环境搭建 本文以windows7下搭建Maven-3.5.0为示例 下载Maven压缩包 网址:Maven 非C盘根目录下新建文件夹:Maven D:\Maven 在Maven目录下新建文件 ...

随机推荐

  1. go语言的3个包——strconv、os.Args、flag

    1. strconv包: 2. os.Args: 获取运行程序时给出的参数,可以通过os包来实现.看代码: package main import ( "fmt" "os ...

  2. PB笔记之数据窗口添加虚拟列的方法

    1.选择计算域控件: 2.输入公式 3.添加一个输入框作为列名,注意Name必须改为后缀为_t(PB固定识别_t)才可以绑定输入框和计算域作为虚拟列,虚拟列在最后一列时,有可能不能改变宽度,需往前挪才 ...

  3. Docker 学习笔记(二):Dockerfile 定制镜像

    镜像的定制实际上就是定制每一层所添加的配置.文件. 如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题.镜像构建透明性的问题.体积 ...

  4. nginx 禁止浏览器缓存

    如果我们使用Nginx作为静态资源服务器,那么可以使用expires进行缓存控制. location /{ expires 1s; } 如果Get页面未做任何修改,服务器就是对客户端返回304 Not ...

  5. 线程一(lock)

    对于线程同步操作最简单的一种方式就是使用 lock 关键字,通过 lock 关键字能保证加锁的线程只有在执行完成后才能执行其他线程.   lock 的语法形式如下. lock(object) {    ...

  6. 只需五分钟-用Maven快速搭建Spring Cloud微服务

    Maven安装手册 1.准备安装包 安装包: apache-maven-3.5.4-bin.zip  (最好JDK 1.7及以上版本) 集成包: eclipse-maven3-plugin.zip 2 ...

  7. linux 命令 wc

    语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所有指定文件的总统计数.字是由空格字符区分开的最大字符串. (1) 统 ...

  8. web安全在线工具梳理

    目录: (一)搜索引擎语法一.百度.国内二.bing(必应).微软的三.google.国外 (二)网络空间搜索引擎用于查找网络空间的目标设备一.撒旦.国外二.钟馗之眼.国内三.佛法.国内 (三)在线w ...

  9. Python3 实例

    一直以来,总想写些什么,但不知从何处落笔. 今儿个仓促,也不知道怎么写,就把手里练习过的例子,整理了一下. 希望对初学者有用,都是非常基础的例子,很适合初练. 好了,Follow me. 一.Pyth ...

  10. Java 函数调用是传值还是传引用? 从字节码角度来看看!

    原文地址:点击打开