摘要:本文转载自微信公众号「小明菜市场」,作者小明菜市场 。转载本文请联系小明菜市场公众号。 撒是ElasticSearch ElasticSearch 是一个基于 Lucene 的搜索服务器,其提供了一个分布式的多用户能力的全文搜索引擎,基于 RestFul Api Web 接口,基于 Java 语言开发,在 Apache 许可下发...
本文转载自微信公众号「小明菜市场」,作者小明菜市场 。转载本文请联系小明菜市场公众号。
撒是ElasticSearch
ElasticSearch 是一个基于 Lucene 的搜索服务器,其提供了一个分布式的多用户能力的全文搜索引擎,基于 RestFul Api Web 接口,基于 Java 语言开发,在 Apache 许可下发布。可以连接多种语言,例如Java,PhP,.net 等。
快速入门
创建索引库ES 的索引库是一个逻辑概念,包括分词列表和文档列表,相当于MySql的表,MongoDB的集合。基于Restful API 这样使用
put http://localhost:9200/索引库名称同时需要设置需要的请求体
{ "settings":{ "index":{ "number_of_shards":1, "number_of_replicas":0 } } }number_of_shards 分片数量 number_of_replicas 副本数量
同时,还可以使用 head 插件创建新的索引
创建映射
在索引中,每个文档都包含了一个或多个 fieID,创建映射就是在索引库中创建 fieID 的过程。其对比如下
文档(Document)----------------Row记录 字段(Field)-------------------Columns列其格式如下
post http://localhost:9200/索引库名称/_mapping为 xedu_course 索引库创建对应的映射,共包括三个字段:
name:课程名称 description:课程描述 studymondel:课程状态
在 head 中查看
创建文档
相当于创建 MySql 中的记录 其格式如下
put 或 Post http://localhost:9200/索引库名称/_doc/id值 # 如果不指定id值ES会自动生成ID在 head 中查看
搜索文档
根据课程 id 查询文档
get http://192.168.116.129:9200/xedu_course/_doc/4028e58161bcf7f40161bcf8b77c0000查询所有记录
get http://192.168.116.129:9200/xedu_course/_doc/_search查询名称中包括 bootstrap 关键字的的记录
get http://192.168.116.129:9200/xedu_course/_doc/_search?q=name:bootstrap查询学习模式为 201001 的记录
get http://192.168.116.129:9200/xedu_course/_doc/_search?q=studymodel:201001分词器
索引中保存的是一个个的词,当去搜索的时候,使用关键字去匹配索引中的值,找到关联的文档。测试分词器
post http://192.168.116.129:9200/_analyze {"text":"测试分词器,后边是测试内容:spring cloud实战"}使用 ik 分词器实现中文词组分词
post http://192.168.116.129:9200/_analyze {"text":"测试分词器,后边是测试内容:spring cloud实战","analyzer":"ik_max_word" }映射
查询查询所有索引的映射
get http://192.168.116.129:9200/_mapping创建
post http://localhost:9200/索引库名称/_mapping更新可以添加字段,不能更新已有的字段
删除通过删除索引来删除映射