初学Elasticsearch

首先启动elasticsearch.bat,然后安装node.js为了支持elasticsearch-head-master插件,之后在在该插件的目录打开命令行窗口,输入grunt server即可Started connect web server on http://localhost:9100。之后在9100页面直接连接http://localhost:9200/即可。

创建索引库,索引库可以联想为关系型数据库中的数据库,”mappings“,可以用postman创建,主要方式如下,注意为put请求:

 其中”article“就相当于数据库的表,也就是Types,其下属性有”id“、”title“、”content“分别约束了什么类型以及是否存储以及分析器的类型,分析器默认为标准分析器,对英文管用,但是对中文没有作用,在这需要将ik—analyzer分析器压缩包解压到plugins文件夹下即可。ik—analyzer分析器提供了两种算法,一种是”ik_smart“,一种是"ik_max_word"。

然后就是向索引库中添加文档,这里用的是post请求,过程如下:

此处http://localhost:9200/blog/article/1后面的1相当于数据库表中的主键,就是索引库中的_id,可以不写,系统会随机分配一个uuid,和Body中的id并无联系,注意区分,如图:

 删除文档,即发送DELETE请求即可,http://localhost:9200/blog/article/1几位删除_id为1的文档。

修改文档,也是POST请求,如http://localhost:9200/blog/article/1中,在Body里再加入新的文档即可,和luncen的原理一样,即先删除后添加。

查询文档:

1、根据_id查询,发送GET请求,http://localhost:9200/blog/article/1即为查询_id=1的文档;

2、根据关键词查询,POST请求,此为IK_ANALYZER分析器查询的结果:

查询结果为:

 

 因为标准分析器在国内几乎用不到,除非是做国外的网站,所以就不演示了。

还有就是在查看标准分析器的分析结果时,注意:

在Body中要加入json数据{ "analyzer": "ik_max_word", "text": "测试用例" },而不能直接在url中直接添加,url则写为:http://localhost:9200/_analyze/?pretty,这样就可以查看标准分析器的分析结果。

还有就是PUT、POST、GET、DELETE请求的不同,参考的网上说法,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!我个人也赞同这个观点,POST和POST都可以向服务器提交数据,并没有一个取一个发。PUT方法请求服务器去把请求里的实体存储在请求URI(Request-URI)标识下,也就是相当于可以理解为存储一个索引库,创建索引库时就用PUT请求,而删除索引库或文档时就可以用DELETE请求。

猜你喜欢

转载自www.cnblogs.com/zxgCoding/p/11992756.html