当ElasticSearch正常启动后,我们就可以利用Kibana图形化界面进行对ElasticSearch的简单使用
1、创建一个索引
PUT huaifeng # 创建一个索引 索引名称为huaifeng
{
"mappings": { # 以映射的方式创建
"properties": { # 映射的参数
"title":{ # 参数名称
"type": "text" # 参数的类型
},
"id":{
"type": "integer"
},
"type":{
"type": "keyword"
}
}
}
}
text类型为可以进行分词搜索的,示例:
title的内容是:创建索引到模糊搜索
我们可以直接搜索“创建搜索”。这时搜索的其实是以:创、创建、创建搜、创建搜索、建搜索、搜索、索;这样的搜索方式进行检索你创建的文档。
integer类型是整形数字
keyword类型为关键字类型,关键字类型类似sql中的 where title=”keyword”的样子
2、给索引中写入一个文档
POST huaifeng/_doc/1 # POST方式接受 索引名称/我要写入文旦/该文档的唯一id
{
"title": "这是一个测试的索引text类型的内容",
"id": 1, # 这个是该文档的自定id
"type": "这是该文档的keyword类型的内容"
}
3、全文检索
GET /_search # get方式接受数据 /搜索
{
"query": { # 映射方式进行全文检索
"match": { # 进行分词搜索
"title": "测试索引t" # ‘要搜索的字段’: '要搜索的内容'
}
}
}
执行后的结果:
{
"took" : 7,
"timed_out" : false,
"_shards" : {
"total" : 1, # 匹配的结果总数量
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 1.1507283,
"hits" : [ # 搜索出来的结果集
{
"_index" : "huaifeng",
"_id" : "1",
"_score" : 1.1507283,
"_source" : {
"title" : "这是一个测试的索引",
"id" : 1,
"type" : "这个索引指向的表"
}
}
]
}
}
4、按照文档id排序后进行分页
POST /huaifeng/_search #搜索
{
"size": 5, # 每页显示的条数
"from": 10, # 从第几条开始
"query": { # 查询
"match": { # 模糊查询
"title": "搜索" # 查询的条件
}
},
"sort" : # 排序
[
{
"id": # 按照文档id排序
{
"order" : "asc" # 排序方式 正序asc 倒序desc
}
}
]
}
下一页的时候,只需要更改 from 的数量即可。