以下ES、ES_head都部署在linux系统中
一、创建索引库
ES的索引库是一个逻辑概念,它包括了分词列表及文档列表,同一个索引库中存储了相同类型的文档。它就相当于MySQL中的表,或相当于Mongodb中的集合。
关于索引这个语:
索引(名词):ES是基于Lucene构建的一个搜索服务,它要从索引库搜索符合条件索引数据。
索引(动词):索引库刚创建起来是空的,将数据添加到索引库的过程称为索引。
下边介绍两种创建索引库的方法,它们的工作原理是相同的,都是客户端向ES服务发送命令。
第一种:使用postman或curl这样的工具创建:
put http://服务器ip:9200/索引库名称 #注意不能使用post
{"settings":{"index":{"number_of_shards":1,"number_of_replicas":0}
}
}
下面使用postman创建的例子
第二种:使用es_head创建
二、创建映射
1.概念说明:
在索引中每个文档都包括了一个或多个field(一行记录中包含一个或多个字段),创建映射就是向索引库中创建field的过程,下边是document和field与关系数据库的概念的类比:
文档(Document)----------------Row 行记录(数据库记录)
字段(Field)-------------------Columns 列
上边讲的创建索引库相当于关系数据库中的数据库还是表?
1、如果相当于数据库就表示一个索引库可以创建很多不同类型的文档,这在ES中也是允许的。
2、如果相当于表就表示一个索引库只能存储相同类型的文档,ES官方建议 在一个索引库中只存储相同类型的文档。
2.创建映射
创建映射语法
post http://服务器ip:9200/索引库名称/类型名称/_mapping
由于ES6.0版本还没有将type(类型名称)彻底删除,所以暂时把type起一个没有特殊意义的名字。ES9.0版本把type彻底删除
使用postman创建的例子
post http://服务器ip:9200/es_wcc/doc/_mapping #在es_wcc索引库下的doc类型下创建映射
映射内容 创建映射,三个字段:name/description/studymodel
{"properties": {"name": {"type": "text"},"description": {"type": "text"},"studymodel": {"type": "keyword"}
}
}
映射创建成功,查看es_head页面
三、文档操作
添加文档
ES中文档相当于MySQL数据库表中的记录。
添加文档语法
put 或Post http://服务器ip:9200/es_wcc/doc/id值 #如果不指定id值ES会自动生成id,id值可以随便设置,如果id值重复了,就是修改之前的数据,不是创建 ******
使用postman创建示例 (这里没有设置id值,随机生成id值)
post http://101.132.167.242:9200/es_wcc/doc
{"name":"Bootstrap开发框架","description":"Bootstrap是由Twitter推出的一个前台页面开发框架,在行业之中使用较为广泛。此开发框架包含了大量的CSS、JS程序代码,可以帮助开发者(尤其是不擅长页面开发的程序人员)轻松的实现一个不受浏览器限制的精美界面效果。","studymodel":"201001"}
通过es_head查看数据
搜索文档
1.根据id查询数据
查询语句
get http://101.132.167.242:9200/es_wcc/doc/r3kAcnUB3x_-S6cmA9