ElasticSearch简介及安装测试

236 阅读3分钟
.ElasticSearch 简介
Elasticsearch是一个实时的分布式搜索和分析引擎,可以用前所未有的速度去处理一些大规模数据。它可以用于全文搜索,结构化搜索以及分析,当然也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。但是Lucene只是一个框架,要充分利用它的功能,需要使用JAVA,并且在程序中集成Lucene。需要很多的学习了解,才能明白它是如何运行的,Lucene确实非常复杂。Elasticsearch使用Lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的API即可,而不需要了解其背后复杂的Lucene的运行原理。
2.ElasticSearch安装
2.1下载地址
下载地址:https://www.elastic.co/downloads,可以根据项目需要使用对应的版本。
2.2部署与启动
无需安装,解压安装包后即可使用,在命令提示符下,进入ElasticSearch安装目录下的bin目录,执行命令elasticsearch就可:

命令行窗口出现started时表示elasticsearch启动成功,在启动过程中会出现两个端口,9300和9200,其中Java开发使用9300,其他的使用9200。打开浏览器,在地址栏中输入http://127.0.0.1:9200/ 即可看到输出结果:

2.3使用postman调用RestAPI
2.3.1创建索引
使用put方式新增一个索引,直接输入地址http://127.0.0.1:9200/tensquare_elasticsearch ,或者是http://localhost:9200/tensquare_elasticsearch 。

2.3.2创建文档
创建文档的时候需要在之前创建的索引基础之上再进行创建,提交方式POST。

2.3.3查询所有文档
查询某索引某类型的全部数据,以get方式请求http://127.0.0.1:9200/tensquare_elasticsearch/article/_search 返回结果如下:

2.3.4修改文档
以put形式提交以下地址http://127.0.0.1:9200/tensquare_elasticsearch/article/AWqF9oEUs4CgULiSXzFx ,body中的数据如下:
[JavaScript]
纯文本查看
复制代码
1
2
3
4
{
"title":"创建elasticsearch的第三个文档-修改",
"content":"学习elastic知识中的修改"
}


注意:如果在进行修改时,对应的id是不存在的,那么会新创建一个文档,如下:

2.3.5基本匹配查询
基本匹配查询,也就是匹配条件查询,就是说以get方式提交,后面跟着条件,如:


注意:通过上面的例子发现当条件是多个汉字组成的词组时,搜索出来的结果包含第一和第三的结果,这说明在elasticsearch中的分词器只是能够分辨单个汉字,当出现词组时会将词组分开进行单独搜索,之后将所有的搜索结果进行展示。
2.3.6模糊查询
在elasticsearch也有对应的模糊查询,可以使用*来代表任意字符:

注意:这个*可以匹配任意字符,不管是放前面,还是放后面,甚至左右都放,那么都可以匹配,但是有一种情况是不可以的,就是条件包含内容的多个汉字,而条件还加上了*,如下面:




这个是因为elasticsearch默认的分词器只能分辨一个汉字,对于多个汉字组成的词汇是识别不了的,这也是我们要使用IK分词器的原因。

更多技术资讯可关注:gzitcast