QQ 咨询
谢谢打赏
微信交流
432

关于使用elascticsearch的两个小技巧
时间: 2021-02-09 17:20:56  作者:北桥苏  阅读:(103)

前言:

        之前也有讲到过es的基本使用,主要是通过PHP代码对es索引,文档等的增删改以及搜索优化的解决方案。而现在为了进一步满足搜索的全新功能,所以就需要一个中文分词器,而为了方面查看或管理es文档,可以使用图形化面板。所以接下来主要介绍es中文分词器的安装和es的web面板。

 

elasticsearch-analysis-ik分词:

      es自带分词,但是没有中文分词,在一众elasticsearch的中文分词插件中,我推荐使用analysis-ik。ik可以对中文语义化分词,有粗略力度分词和最大化分词。最大化可以将一小段句子拆分成单个字,词语的幂集,如果本地的es没有安装该插件,对某文档的字段使用则会报下面错误。

    所以,安装方法就来了,以下全部以elasticsearch7.8.0版本进行介绍和演示。本地安装了es后,找到其安装的根目录,会发现有一个plugins目录,里面就是放分词插件的地方。接下来就是按下面地址,选择与自己es版本相对的下载。

 

 

     下载完成后,将解压包放入es的plugins目录中,重启es,通过postman测试分词就标识成功了。

 

elasticsearch-head:

     elasticsearch-head是一个简单的es web面板,可以连接指定地址,查看es节点状况,创建索引,查看索引列表,文档,模拟搜索等。下面就简单介绍一下这个工具的安装。工具地址可以网络上搜索,我这里就不贴,在github也有。

     因为这个工具是基于NodeJs,所以安装的前提需要有Node环境,而且还要安装了cnpm,cnpm具体的方法可以网络自行查找。这些都准备好了之后,通过cmd进入到elasticsearch-head根目录。

    第一步先执行cnpm install。等待将所有的依赖包安装完毕后,执行cnpm run start就默认开启了本地的一个端口为9100的 http服务,最后访问浏览器就可以了。

        浏览器进入到127.0.0.1:9100,就可以看到下面这个页面,默认是没有连接9200的(es的默认端口)。但是第一次连接会报跨域的错误,所以需要找到es的配置,也就是config目录下elasticsearch.yml,在结尾添加两行代码,最后重启es再用面板连接就可以成功了。

http.cors.enabled: true
http.cors.allow-origin: "*"

    因为这个工具有创建索引的功能,所以接下来我就主要通过postman演示创建文档和批量创建的方法,然后刷新面板的对应索引查看数据。

1. 创建索引:

2. 给指定索引添加一个文档:

3. 给指定索引批量添加文档:

   通过postman批量添加文档有两种方式,一种是以参数方式,另一种是以上传json文件方式。但是二者在书写文档时(也就是json),在最后一定要加一个换行,不然会报错。

(1). 传参方式。

(2). 上传文件方式。

4. 搜索:

    以下就是通过postman测试添加的文档,还有一个是es从7.0版本后,一个索引只能有一个type,并且都为_doc,所以面板中的类型都是_doc。






用户登录


     QQ登录

我的标签


随机文章

  • 五个开发中简单快捷的小工具网址简介:该网站主要以前端js制作,提供曲线图,…… 查看详情
  • PHP实现单人多人聊天源码免费分享 | 电脑报修系统1. 简易版登陆式聊天源码。 2. 电脑报…… 查看详情
  • phpstorm开发项目中5种常用的使用方法有时因为各种原因重装了系统,工具有时也重装,…… 查看详情

友情链接





Copyright© 2016-2021 北桥苏 & 版权所有    赣ICP备16002525号-1
如有侵权、不妥之处,请联系站长的客服并出示版权证明以便删除。敬请谅解! 站长客服联系方式:QQ2652364582