elasticsearch组件的安装启动,测试等(windows)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LJFPHP/article/details/89112279

一、关于ES

      这个搜索引擎,实在是慕名已久。之前的公司做招聘的时候,就曾经用到了这个东西作为职位搜索。只知道很牛逼,处理大数据方便是一绝,只可惜我当时没机会学习一下。现在刚好工作要做数据分析,数十亿的数据量,和ES可否一战?

二、安装相关组件

1、关于ES的最全面的解释:
https://blog.csdn.net/laoyang360/article/details/52244917

希望大家开始学习ES之前,先看一下这篇博客,大佬写的很好,也很透彻,看完心里能有点数。

2、关于安装,网上很多教程,这里分享下需要下载的文件,方便大家下载:

链接: https://pan.baidu.com/s/1sY2yIU0DkhNzXTSpIn8DzQ 提取码: kt9u 复制这段内容后打开百度网盘手机App,操作更方便哦

      包括elasticsearch的安装程序,elasticsearch-head安装程序,node.jsjava安装程序等。java安装程序在那个新建文本里面。也有参考博客贡大家参考。

3、中文分词相关
参考:https://github.com/medcl/elasticsearch-analysis-ik.git
查询形如:
GET test/_analyze
{
“analyzer”:“ik_max_word”,
“text”:“搜索引擎”
}

三、各个组件的启动

1、elasticsearch 的启动

(1)进入bin目录,点击elasticsearch.bat,稍等片刻
(2)浏览器输入:http://localhost:9200/   ,显示那堆数据就OK

2、elasticsearch-head的启动:

(1)进入elasticsearch-head的文件夹
(2)执行 npm install
(3)执行 npm run start

3、安装elasticsearch-ik

参考:https://blog.csdn.net/qq_26230421/article/details/80597144

4、安装kibana,并和elasticsearch联系起来

参考:https://blog.csdn.net/qq_26230421/article/details/80597144
使用kibana的dev tools测试ela-ik即可
启动:

	(1)进入kibana的安装目录,进入Bin目录下,点击kibana.bat
	(2)等cmd命令框运行完,浏览器上输入:http://localhost:5601  即可

四、ELK的测试

1、kbiana和ela链接测试:

(1)创建索引

创建索引【test_2】并为 name 字段指定 analyzer ,使用ik分词处理name字段的构建索引以及搜索时不同处理方式

put test_2
{
"mappings":{
	"_doc":{
		"properties":{
			"name":{
				"type":"text",
				"analyzer":"ik_max_word",
				"search_analyzer":"ik_smart"
			}
		}
	}
}
}

(2)测试ik分词

GET test_2/_analyze
{
"analyzer":"ik_max_word",
"text":"搜索引擎"
}

(3)添加document,构建索引 (PS:PUT的方式需指定id,使用POST方式可使用es来自动生成id)

PUT test_2/_doc/1
	{
	"name":"中国移动"
	}

(4)批量方式构建索引(bulk)

PUT test_2/_bulk
{"index":{"_id":"2","_type":"_doc"}}
{"name":"中国联通"}
{"index":{"_id":"3","_type":"_doc"}}
{"name":"中国电信"}

(5)搜索测试

GET test_2/_search
{
	"query":{
		"match":{
			"name":"联通"
		}
	}
}

引申:关于es-ik的详细使用,按照自己的需求配置扩展字典等
参考:https://www.cnblogs.com/leixingzhi7/p/6903938.html

五、ES和数据库的区别:

      Elasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列)。

      文档类似于我们传统数据库的行,那么我们查询传统的行数据,是通过field字段作为条件,从而在表中找到这一行。同样的,在ES中,查找文档:

$params = [
		'index' => 'my_index',   //ES的索引,类似于mysql的databases
	 'type' => 'my_type',	   //ES的type,类似于mysql的table
		'id' => 'my_id'             //ES的文档id,类似于mysql表中的id,通过id锁定一行数据
];

$response = $client->get($params);

六、其他

1、 关于es的文档(document)的理解:

https://blog.csdn.net/u014078154/article/details/79415670
这个博客有不少译文,可以看一下

2、 引申
http://www.bayescafe.com/database/elasticsearch-using-index-or-type.html (讨论ES的type和关系型数据库的databases的区别)

      关于ES的基础篇,大概就是这样了。安装包我都分享到了百度网盘上,大家需要的话,可以下载一下,能很快安装好。附带的一些博客都是不错的博客,大家有时间的话,尽量都看看。

一起学习!

end

猜你喜欢

转载自blog.csdn.net/LJFPHP/article/details/89112279
今日推荐