|
|
|
|
公众号矩阵

对不起,你以前学的 ElasticSearch 都是垃圾!

ElasticSearch 是一个基于 Lucene 的搜索服务器,其提供了一个分布式的多用户能力的全文搜索引擎,基于 RestFul Api Web 接口,基于 Java 语言开发,在 Apache 许可下发布。可以连接多种语言,例如Java,PhP,.net 等。

作者:小明菜市场 来源: 小明菜市场|2020-11-18 07:47

本文转载自微信公众号「小明菜市场」,作者小明菜市场 。转载本文请联系小明菜市场公众号。

撒是ElasticSearch

ElasticSearch 是一个基于 Lucene 的搜索服务器,其提供了一个分布式的多用户能力的全文搜索引擎,基于 RestFul Api Web 接口,基于 Java 语言开发,在 Apache 许可下发布。可以连接多种语言,例如Java,PhP,.net 等。

快速入门

创建索引库ES 的索引库是一个逻辑概念,包括分词列表和文档列表,相当于MySql的表,MongoDB的集合。基于Restful API 这样使用

  1. put http://localhost:9200/索引库名称 

同时需要设置需要的请求体

  1.     "settings":{  
  2.         "index":{ 
  3.             "number_of_shards":1, 
  4.             "number_of_replicas":0 
  5.         } 
  6.     } 

number_of_shards 分片数量 number_of_replicas 副本数量

同时,还可以使用 head 插件创建新的索引

创建映射

在索引中,每个文档都包含了一个或多个 fieID,创建映射就是在索引库中创建 fieID 的过程。其对比如下

  1. 文档(Document)----------------Row记录  
  2. 字段(Field)-------------------Columns列 

其格式如下

  1. post http://localhost:9200/索引库名称/_mapping 

为 xedu_course 索引库创建对应的映射,共包括三个字段:

name:课程名称 description:课程描述 studymondel:课程状态

在 head 中查看

创建文档

相当于创建 MySql 中的记录 其格式如下

  1. put 或 Post http://localhost:9200/索引库名称/_doc/id值  
  2. # 如果不指定id值ES会自动生成ID 

在 head 中查看

搜索文档

根据课程 id 查询文档

  1. get http://192.168.116.129:9200/xedu_course/_doc/4028e58161bcf7f40161bcf8b77c0000 

查询所有记录

  1. get http://192.168.116.129:9200/xedu_course/_doc/_search 

查询名称中包括 bootstrap 关键字的的记录

  1. get http://192.168.116.129:9200/xedu_course/_doc/_search?q=name:bootstrap 

查询学习模式为 201001 的记录

  1. get http://192.168.116.129:9200/xedu_course/_doc/_search?q=studymodel:201001 

分词器

索引中保存的是一个个的词,当去搜索的时候,使用关键字去匹配索引中的值,找到关联的文档。测试分词器

  1. post http://192.168.116.129:9200/_analyze 
  2. {"text":"测试分词器,后边是测试内容:spring cloud实战"

使用 ik 分词器实现中文词组分词

  1. post http://192.168.116.129:9200/_analyze  
  2. {"text":"测试分词器,后边是测试内容:spring cloud实战","analyzer":"ik_max_word" } 

映射

查询查询所有索引的映射

  1. get http://192.168.116.129:9200/_mapping 

创建

  1. post http://localhost:9200/索引库名称/_mapping 

更新可以添加字段,不能更新已有的字段

删除通过删除索引来删除映射

【编辑推荐】

  1. 查询ElasticSearch:用SQL代替DSL
  2. ElasticSearch索引 VS MySQL索引
  3. Elasticsearch查询速度为什么这么快?
  4. 极限压榨Elasticsearch写入速度
  5. ES开发指南|如何快速上手ElasticSearch
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

29人订阅学习

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

193人订阅学习

搭建数据中心实验Lab

搭建数据中心实验Lab

实验平台Datacenter
共5章 | ITGO(老曾)

119人订阅学习

视频课程+更多

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微