ElasticSearch 的下载地址:
https://www.elastic.co/downloads/elasticsearch;
国外网站下载速度巨慢,提供个百度云下载链接,链接里提供6.0,6.8,7.3三个版本
https://pan.baidu.com/s/1dj77AihFbHeMHDmrPR4wNg 提取码 seup
下载好后解压进入bin目录文件,双击执行 elasticsearch.bat 。等待打印信息输出完之后打开浏览器,输入:localhost:9200 。页面显示如下,则说明安装好了。
一般如果不安装其他辅助可视化工具的话,可以在浏览器上进行简单的操作,比如简单的查询我们也可以通过一个可视化的工具来查看ES的运行状态和数据。例如head 。
ElasticSearch-head 依赖于node.js
下面是head的下载地址,在GitHub 中:
https://github.com/mobz/elasticsearch-head
进入github后我们选择下载zip压缩包,下载解压后,
cmd 切换到elasticsearch-head 中,输入启动命令:npm run start .然后浏览器输入http://localhost:9100/,成功如下。
在输入框中输入elasticsearch地址点击连接即可
也有可能点击连接后还是显示未连接。如下
可以进入到es的安装目录下,点击config 文件夹,打开elasticsearch.yml 在末尾添加
http.cors.enabled: true
http.cors.allow-origin: “*”
下来就使用head工具简单的操作一下Elasticsearch
比如新增一个索引,选择复核查询,url上自定义索引和类型,填写自己需要的字段。点击提交请求后如果返回右边所示,既成功创建了一个索引可返回概览,点击刷新可看到刚新建的索引
数据浏览中也能看到索引里的数据
如果要进行数据更新。操作与新增类似,比如根据id修改内容,填写后点击提交请求,之前的数据就被修改了
同样删除的操作也是类似,请求类型改成delete即可
在它的基本查询操作中,能实现我们更加复杂的一些查询操作。
must: 文档必须完全匹配条件
should: should下面会带一个以上的条件,至少满足一个条件,这个文档就符合should
must_not: 文档必须不匹配条件
下面简单介绍下常用的一些查询:
先把name改成这样,方便做测试
match查询
对name字段做match查询,match查询会先对搜索词进行分词term查询
term是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词,需要字段完全匹配才行。但是如果在存储时,例如:原有的文本“好好学习,天天向上”会被分词进行存储,如果没有存在“天天向上”这整个词,那么不会返回任何值。
但是如果使用“天”作为查询条件,则只要数据中包含“天”的数据都会被返回,分词对这个查询影响较大
wildcard查询
类似于sql中是like操作,如果分词存存储中有查询关键字,数据会被返回。
但是比如分词中不存在“好好学习,天天向上”的存储关键字,结果反而差不多
prefix(前缀查询)
fuzzy(fuzzy搜索以后,会自动尝试将你的搜索文本进行纠错,然后去跟文本进行匹配)
range(区间搜索)