elasticsearch从入门到入门系列(一)---简单介绍及安装

1.什么是搜索引擎

全⽂文搜索引擎是⽬目前⼴广泛应⽤用的主流搜索引擎。它的⼯工作原理理是计算机索引程序通过扫描⽂文章中的每⼀一个词,对每⼀一个词建⽴立⼀一个索引,指明该词在⽂文章中出现的次数和位置,当⽤用户查询时,检索程序就根据事先建⽴立的索引进⾏行行查找,并将查找的结果反馈给⽤用户的。

2.常见搜索引擎

  • Lucene
  1. Lucene是⼀一个Java全⽂文搜索引擎,完全⽤用Java编写。Lucene不不是⼀一个完整的应⽤用程序,⽽而是⼀个代码库和API,可以很容易易地⽤用于向应⽤用程序添加搜索功能。
  2. 通过简单的API提供强⼤大的功能,可扩展的⾼高性能索引 强⼤大,准确,⾼高效的搜索算法 跨平台解决⽅方案。
  3. Apache软件基⾦金金会,在Apache软件基⾦金金会提供的开源软件项⽬目的Apache社区的⽀支持。 但是Lucene只是⼀一个框架,要充分利利⽤用它的功能,需要使⽤用java,并且在程序中集成 Lucene。需要很多的学习了了解,才能明⽩白它是如何运⾏行行的,熟练运⽤用Lucene确实⾮非常 复杂。
  • Solr
  1. 是⼀一个基于Lucene的Java库构建的开源搜索平台。它以⽤用户友好的⽅方式提供Apache Lucene的搜索功能。它是⼀一个成熟的产品,拥有强⼤大⽽而⼴广泛的⽤用户社区。它能提供分布式索 引,复制,负载均衡查询以及⾃自动故障转移和恢复。如果它被正确部署然后管理理得好,它就 能够成为⼀一个⾼高度可靠,可扩展且容错的搜索引擎。很多互联⽹网巨头,如Netflix,eBay, Instagram和亚⻢马逊都使⽤用Solr,因为它能够索引和搜索多个站点。
  2. 强大的搜索功能:全文搜索,分面搜索,实时索引,动态集成,数据库集成,NoSQL功能和丰富的文档处理
  • ElasticSearch
  1. lasticsearch是⼀一个开源,是⼀一个基于Apache Lucene库构建的Restful搜索引擎.

  2. Elasticsearch是在Solr之后⼏几年年推出的。它提供了了⼀一个分布式,多租户能⼒力力的全⽂文搜索引 擎,具有HTTP Web界⾯面(REST)和⽆无架构JSON⽂文档。Elasticsearch的官⽅方客户端库提供 Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript。

  3. 主要功能:分布式搜索,数据分析,分组和聚合

  4. 应用场景:*,Stack Overflow,GitHub,电商网站,日志系统,站内搜索

3.快速安装及搭建

说明:基于mac系统进行搭建

  1. 下载地址:https://www.elastic.co/cn/downloads/elasticsearch(请自行下载对应操作系统的版本)
  2. 安装前请配置好jdk,elasticsearch强依赖与jdk,所以一定要安装对应的jdk,并且配置好相关的环境变量
  3. mac/linux,打开软件的安装路路径,进⼊入到bin⽬目录,执⾏行行sh elasticsearch.sh,守护进程的⽅方 式可以使⽤用 sh elasticsearch.sh -d -p pid;windows,打开软件的安装路路径,进⼊入到bin⽬目录,双击elasticsearch.bat

  4. 验证:elasticsearch默认端口为9200,在浏览器上输入:http://localhost:9200

4.elasticsearch目录介绍

elasticsearch从入门到入门系列(一)---简单介绍及安装

说明:

类型

描述

默认位置

设置

bin

⼆二进制脚本包含启动节点的elasticsearch

{path.home}/bin

 

conf

配置⽂文件包含elasticsearch.yml

{path.home}/config

path.conf

data

在节点上申请的每个index/shard的数据⽂文件的位置。 可容纳多个位置

{path.home}/data

path.data

logs

⽇日志⽂文件位置

{path.home}/logs

path.logs

plugins

插件⽂文件位置。每个插件将包含在⼀一个⼦子⽬目录中。

{path.home}/plugins

path.plugins

4.kibana安装和使用

  1. 下载地址:https://www.elastic.co/cn/downloads/kibana,请自行找到对应的版本。
  2. 启动:进入到文件夹的bin目录,执行sh kibana
  3. 验证:访问http://localhost:5601
  4. 使用:进入到Dev Tools