一、创建索引库
*put* *http://localhost:9200/**索引库名称*
PUT http://localhost:9200/xc_course
{ "settings": { "index": { "number_of_shards": 1, "number_of_replicas": 0 } } }
number_of_shards:设置分片的数量,在集群中通常设置多个分片,表示一个索引库将拆分成多片分别存储不同 的结点,提高了ES的处理能力和高可用性,入门程序使用单机环境,这里设置为1。
number_of_replicas:设置副本的数量,设置副本是为了提高ES的高可靠性,单机环境设置为0.
如下是创建的例子,创建xc_course索引库,共1个分片,0个副本:
二、创建映射
*post* *http://localhost:9200/**索引库名称**/**类型名称**/_mapping*
POST http://localhost:9200/xc_course/doc/_mapping
创建类型为xc_course的映射,共包括六个字段
{ "properties": { "description": { "type": "text", "analyzer": "ik_max_word", "search_analyzer": "ik_smart" }, "name": { "type": "text", "analyzer": "ik_max_word", "search_analyzer": "ik_smart" }, "pic": { "type": "text", "index": false }, "price": { "type": "scaled_float", "scaling_factor": 100 }, "studymodel": { "type": "keyword" }, "timestamp": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd" } } }
date**日期类型**
设置允许date字段存储年月日时分秒、年月日及毫秒三种格式
{ "properties": { "timestamp": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd" } } }
三、创建文档(相当于MySQL数据库表中的记录)
发送:put 或Post http://localhost:9200/xc_course/doc/id值 (如果不指定id值ES会自动生成ID)
POST http://localhost:9200/xc_course/doc/1
{ "name": "Bootstrap开发", "description": "Bootstrap是由Twitter 推出的一个前台页面开发框架,是一个非常流行的开发框架,此框架集成了多种页面效果。此开发框架包含了大量 的CSS、JS程序代码,可以帮助开发者(尤其是不擅长页面开发的程序人员)轻松的实现一个不受浏览器限制的精 美界面效果。", "studymodel": "201002", "price": 38.6, "timestamp": "2018-04-25 19:11:35", "pic": "group1/M00/00/00/wKhlQFs6RCeAY0pHAAJx5ZjNDEM428.jpg" }
四、查询数据
查询所有记录
发送 GET http://localhost:9200/xc_course/_search
查询名称中包括spring 关键字的的记录
发送 GET http://localhost:9200/xc_course/_search?q=name:开发
发送 GET http://localhost:9200/xc_course/_search?q=_id:1
测试分词器
ik分词器有两种分词模式:ik_max_word 会将文本做最细粒度的拆分文章来源:https://www.toymoban.com/news/detail-790248.html
和ik_smart模式 会做最粗粒度的拆分文章来源地址https://www.toymoban.com/news/detail-790248.html
POST localhost:9200/_analyze
到了这里,关于Elasticsearch 搜索引擎的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!