SpringCloud学习笔记(一)分布式搜索引擎ElasticSearch

ElasticSearch

  • ElasticSearch简介
    • 什么是ElasticSearch
    • ElasticSearch特点
    • ElasticSearch体系结构
  • ElasticSearch部署
    • Postman调用RestAPI
  • IK分词器
    • 安装
    • 测试
    • 自定义词库

ElasticSearch简介

什么是ElasticSearch

ElasticSearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源代码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

ElasticSearch特点

(1)可以作为一个大型分布式集群(数百台服务器)技术,处理PB级数据,服务大公司,也可以运行在单机上;
(2)将全文搜索、数据分析以及分布式技术,合并在了一起;
(3)开箱即用,部署简单;
(4)全文检索,同义词处理,相关度排名,复杂数据分析,海量数据的近实时处理。

ElasticSearch体系结构

ElasticSearch Mysql
索引(index) 数据库(databses)
类型 (type) 表(table)
文档 (document) 行(row)

ElasticSearch部署

下载ElasticSearch

无需安装,解压安装包后即可使用
在命令提示符下,进入ElasticSearch安装目录下的bin目录,执行命令

elasticsearch

启动之后开启了9300(java开发用)和9200端口
访问localhost:9200看到数据就是已经正常启动

Postman调用RestAPI

创建索引库(以put方式提交)

http://localhost:9200/{索引库名称}

新建文档(以post方式提交,自动生成id)

http://localhost:9200/{索引库名称}/{类型名}    (article(弱类型)

body:

{
	"title":"",//标题
	"content":""//内容
}

查询所有(以get方式提交)

http://localhost:9200/{索引库名称}/{类型名}/_search

修改(以put方式提交)

http://localhost:9200/{索引库名称}/{类型名}/{_id}

body:

{
	"title":"",//标题
	"content":""//内容
}

新建文档(以put方式提交,制定id)

http://localhost:9200/{索引库名称}/{类型名}/{id}   

body:

{
	"title":"",//标题
	"content":""//内容
}

按id查询(以get方式提交)

http://localhost:9200/{索引库名称}/{类型名}/{id}

基本匹配查询(以get方式提交)

http://localhost:9200/{索引库名称}/{类型名}/_search?q={查询字段}:{查询内容}

模糊查询(以get方式提交)

http://localhost:9200/{索引库名称}/{类型名}/_search?q={查询字段}:*{查询内容}*

删除文档(以delete方式提交)

http://localhost:9200/{索引库名称}/{类型名}/{id}

IK分词器

安装

下载地址

(1)解压后将文件夹重命名为ik
(2)将ik文件夹拷贝到elasticsearch/plugins目录下
(3)重新启动,即可加载IK分词器

测试

IK提供了两个分词算法ik_smart和ik_max_word
其中ik_smart为最少切分,ik_max_word为最细粒度划分
(1)最小切分

http://localhost:9200/_analyze?analyzer=ik_smart&pretty=true&text={{需切词的内容}}

(2)最细粒度划分

http://localhost:9200/_analyze?analyzer=ik_max_word&pretty=true&text={{需切词的内容}}

自定义词库

(1)进入elasticsearch/plugins/ik/config目录下
(2)新建custom.dic文件(UTF-8格式),编辑词条内容
(3)修改IKAnalyzer.cfg.xml(在ik/config目录下)

<properties>
	<comment>IK Analyzer 扩展配置comment>
	<entry key="ext_dict">custom.dicentry>
	<entry key="ext_stopwords">entry>
properties>

(4)重新启动elasticsearch

你可能感兴趣的:(SpringCloud学习笔记,elasticsearch,spring)