1. 简介
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基 于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布, 是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速, 安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他 语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是 Apache Solr,也是基于Lucene
演示:京东,淘宝 Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。
官网地址: Apache Lucene - Welcome to Apache Lucene
重要特性: 1、分布式的实时文件存储,每个字段都被索引并可被搜索 2、实时分析的分布式搜索引擎 3、可以扩展到上百台服务器,处理PB级结构化或非结构化数据
2.es的一些概念
elasticsearch中有很多独有的概念,与mysql中略有差别,但也有相似之处。
2.1. 文档和字段
elasticsearch是面向文档(Document)存储的,可以是数据库中的一条商品数据,一个订单信息。文 档数据会被序列化为json格式后存储在elasticsearch中:
而Json文档中往往包含很多的字段(Field),类似于数据库中的列。
2.2索引和映射
索引(Index),就是相同类型的文档的集合。
例如:
-
- 所有用户文档,就可以组织在一起,称为用户的索引;
- 所有商品的文档,可以组织在一起,称为商品的索引;
- 所有订单的文档,可以组织在一起,称为订单的索引;
因此,我们可以把索引当做是数据库中的表。 数据库的表会有约束信息,用来定义表的结构、字段的名称、类型等信息。因此,索引库中就有映射 (mapping),是索引中文档的字段约束信息,类似表的结构约束。
3.es下载与安装
Windows版ES下载 Download Elasticsearch | Elastic
Windows版ES安装与启动
- 运行 elasticsearch.bat
- 访问localhost:9200能看到json代表启动成功
4.IK分词器
分词器的作用是什么?
- 创建倒排索引时对文档分词
- 用户搜索时,对输入的内容分词
IK分词器有几种模式?
- ik_smart:智能切分,粗粒度
- ik_max_word:最细切分,细粒度
安装 下载:
https://github.com/infinilabs/analysis-ik/releases
在ES安装目录下找到plugins目录创建ik文件夹 将ik分词器解压缩在此目录并重启ES即可