一、为什么要用 Elasticsearch ?
一般我们去访问一个电商首页,都会直接用搜素来找自己想买的商品。
但是商品的数量非常多,而且分类繁杂。如何能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。
面对这样复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,(你想啊,在传统数据库中从成千上万的数据中去搜素,效率会有低,速度会有多慢?)所以一般我们都会使用全文检索技术,比如 Solr、Elasticsearch 。
而今天,我们要学的是:Elasticsearch。
二、Elasticsearch 简介
Elasticsearch 是 Elastic 的一个产品。
Elastic官网:https://www.elastic.co/cn/
Elastic有一条完整的产品线及解决方案:Elasticsearch、Kibana、Logstash 等。
而其中的 Elasticsearch、Kibana、Logstash 就是大家常说的ELK技术栈。
访问 Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch ,我们能看到Elasticsearch的介绍:
总结来说Elasticsearch的特点就是:
-
分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)
-
Restful风格,一切API都遵循Rest原则
-
近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。
Elasticsearch 版本更新还是比较快的,不过不影响我们的基本学习。
我们今天学习Elasticsearch 用的版本是 6.3.0
环境的话,需要JDK1.8以及以上。
三、Elasticsearch 安装和配置
模拟真实使用场景,我们在linux下安装Elasticsearch 。
1.新键一个用户 leyou ,并切换到这个用户
因为出于安全考虑,Elasticsearch 默认不允许以root账号运行。
所以我们来创建一个用户:
useradd leyou
设置密码:
passwd leyou</