Elasticsearch环境搭建和介绍(Windows)

一、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插件

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)

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) 

 

转载于:https://www.cnblogs.com/peterYong/p/11024061.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 银行业务系统程序编程写_python多线程实现代码(模拟银行服务操作流程)

1.模拟银行服务完成程序代码目前&#xff0c;在以银行营业大厅为代表的窗口行业中大量使用排队(叫号)系统&#xff0c;该系统完全模拟了人群排队全过程&#xff0c;通过取票进队、排队等待、叫号服务等功能&#xff0c;代替了人们站队的辛苦。排队叫号软件的具体操作流程为&…

vue 新版本 webpack 代理 跨域设置

旧版本中&#xff1a;dev-server.js 这段去掉 var apiRoutes express.Router() //getList apiRoutes.get(/getDiscList, function (req, res) {var url https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcgaxios.get(url, {headers: {referer: https://c.y.qq.com…

人月神话(2)

我不知道为什么作者要拿外科医生举例子&#xff0c;在我眼里足球队更合适&#xff0c;或者说更贴近生活&#xff0c;让人们更容易理解。人的专业水平&#xff0c;在刚开始其实没什么可比性&#xff0c;试问&#xff1a;一个有小学学历的人和一个有初中学历的人在大公司招聘时有…

mysql查询出过去一个月_Mysql查询今天、昨天、7天、近30天、本月、上一月 数据...

今天select * from 表名 where to_days(时间字段名) to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) < 17天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(时间字段名)近30天SELECT * FROM 表名 where…

Jar Hell变得轻松–用jHades揭秘classpath

Java开发人员将不得不面对的最困难的问题是类路径错误&#xff1a; ClassNotFoundException &#xff0c; NoClassDefFoundError &#xff0c;Jar Hell&#xff0c; Xerces Hell和company。 在本文中&#xff0c;我们将探究这些问题的根本原因&#xff0c;并了解最小的工具&am…

图像处理中常见的时域与频域区别与关系

本文纯为转载只做个人学习记录用&#xff0c;请自动点击链接到作者原文&#xff1a;https://blog.csdn.net/samkieth/article/details/49561539 一、什么是时域 时域是描述数学函数或物理信号对时间的关系。例如一个信号的时域波形可以表达信号随着时间的变化。 二、什么是频域…

程序控制发送文件到邮箱_Kindle电子邮箱推送

Kindle 推送支持的格式目前 Kindle 推送仅支持以下几种格式。需要注意的是&#xff0c;AZW 和 AZW3 是两种不同的格式&#xff0c;虽然这两种格式 Kindle 设备都支持阅读&#xff0c;但是亚马逊的个人文档服务支持推送 AZW 但是不支持 AZW3。Kindle 格式 (.mobi 或 .azw) * 推荐…

[USACO06JAN] 牛的舞会 The Cow Prom

题目描述 The N (2 < N < 10,000) cows are so excited: its prom night! They are dressed in their finest gowns, complete with corsages and new shoes. They know that tonight they will each try to perform the Round Dance. Only cows can perform the Round D…

前端js 实现文件下载

https://www.zhangxinxu.com/wordpress/2017/07/js-text-string-download-as-html-json-file/ 侵删 1.H5 download属性 function downFile(content, filename) {// 创建隐藏的可下载链接var eleLink document.createElement(a);eleLink.download filename;eleLink.style.disp…

mysql的英文字母_MySQL中查询的有关英文字母大小写问题的分析

mysql数据库在做查询时候&#xff0c;有时候是英文字母大小写敏感的&#xff0c;有时候又不是的&#xff0c;主要是由mysql的字符校验规则的设置决定的&#xff0c;通常默认是不支持的大小写字母敏感的。1. 什么是字符集和校验规则&#xff1f;字符集是一套符号和编码。校对规则…

JDK8 lambda的会话指南–术语表

上次出现…我写了一篇与JDK8为我们提供的新方法有关的文章。 最令我兴奋的功能是lambda。 我必须承认&#xff0c;在即将成为浪子的第一年&#xff08;在此期间&#xff0c;我使用C&#xff03;开发了该产品&#xff09;&#xff0c;我喜欢LINQ和它可以做的漂亮&#xff0c;优雅…

写接口给别人调用 推送数据到我们_我们写了一个超好用的抖音矩阵数据管理工具...

我最近跑了十来个抖音号&#xff0c;遇到一些问题&#xff0c;然后通过我们NB的程序员解决了。如果你也在做抖音矩阵&#xff0c;那这些问题你肯定也会遇到&#xff0c;所以我把解决问题的方法工具化了&#xff0c;给大家用。我遇到的最大的问题&#xff0c;就是账号数据的同步…

php crypt mysql password_使用PHP 5.5的password_hash和password_verify函数

使用PHP 5.5的password_hash和password_verify函数假设我想为用户存储密码&#xff0c;这是使用PHP 5.5的password_hash()功能(或者这个版本的PHP 5.3.7&#xff1a;https&#xff1a;//github.com/ircmaxell/password_compat)的正确方法吗&#xff1f;$options array("c…

Mysql order by 导致 using filesorting

https://www.cnblogs.com/drcoding/p/4942277.html转载于:https://www.cnblogs.com/eason-d/p/9700526.html

angular 拼接html 事件无效

主要是要引用$compile方法 更多专业前端知识&#xff0c;请上 【猿2048】www.mk2048.com

更好地利用Pmd,Findbugs和CheckStyle的结果。

我们可以列举许多Java静态分析工具&#xff0c;每种工具都专注于特定领域并具有其优势&#xff0c;我们可以列举一下&#xff1a; Pmd是基于静态规则集的Java源代码分析器&#xff0c;它识别潜在的问题&#xff0c;例如&#xff1a; 可能的错误-空的try / catch / finally / s…

Java基础知识(数据类型和集合)

一、数据类型 包装类型 包装类型是对基本数据类型不足之处的补充。 基本数据类型的传递方式是值传递&#xff0c;而包装类型是引用传递&#xff0c;同时提供了很多数据类型间转换的方法。 Java1.5 以后可以自动装箱和拆箱 二、集合 List&#xff1a;有序、可重复。可以通过索引…

python 局域网 主机名_使用python获取连接到本地网络(基于主机名)的所有设备的ip...

这绝对不是重复的。在我正在做一个应用程序&#xff0c;我需要找到我的设备的IP地址。我知道他们的名字&#xff0c;通过他们的名字我需要得到他们的知识产权。Linux应该很简单&#xff0c;但我需要跨平台的态度&#xff0c;因此我使用python。在我已经知道解决方案&#xff1a…

mfc使用cef源代码实现_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些...

很多小游戏都是由源代码编写而成的&#xff0c;那大家知道源代码组合包括哪些吗?手机游戏源代码怎么使用的呢?还有&#xff0c;如何获得微信小游戏跳一跳源码?下面就由奇瑰网小编带大家来了解一下相关的内容吧。   源代码组合包括哪些   源代码作为软件的特殊部分&#…

js 分页插件(jQuery)

参考&#xff1a;http://www.jb51.net/article/117191.htm 侵删 css 部分 charset "utf8"; *{box-sizing: border-box;padding: 0;margin: 0; } .page{font-size: 13px;text-align: center;margin-top: 20px; } .page .page_to{display: inline-block;max-width: 25…