一、返回结构
{
"took": 20, // 整个搜索请求花费的毫秒数
"timed_out": false, // 查询超时与否,false没有超时, true为超时
"_shards": {
"total": 5, // 分片数量
"successful": 5, // 成功的分片数量,即是没有故障的分片
"failed": 0 // 失败的分片数量,即是出现故障的分片
},
"hits": {
"total": 100000, // 查询整个索引的文档数量
"max_score": 1, // 所有文档匹配查询中_score的最大值
"hits": [
{
"_index": "test_index", // 索引名称
"_type": "test_index", // 索引类型
"_id": "030180142347", // 文档id
"_score": 1, // 这条文档与查询的条件匹配程度
"_source": { // 文档的json数据
"name": "lodge",
"age": 25
}
}
]
}
}
二、查询方式
1、GET查询方式
// 在所有索引的所有类型中搜索
GET /_search
// 在索引test_index的所有类型中搜索
GET /test_index/_search
// 在索引test_index和test_index1的所有类型中搜索
// 多个索引查询
GET /test_index,test_index1/_search
// 在索引以test开头的所有类型中搜索
// 正则查询
GET /test_*/_search
// 在所有索引的user和tweet的类型中搜索
GET /_all/user,tweet/_search
// 条件查询文档
GET /test_index/_search?q=字段名:对应的值
// 分页查询,size代表结果数量,from代表跳过开始的结果数
// size相当sql的limit,from相当sql的offset
GET /test_index/_search?size=5&from=10
2、POST 查询方式(请求体查询方式)
// 请求体基本结构
{
"query": {}, // 相当sql的where条件
"sort": {}, // 相当sql的order by排序
"from":0, // 相当sql的offset从第几行获取
"size":20, // 相当sql的limit返回数据量
"_source": [] // 获取那些文档字段数据
}
query内部简单包含关系的示意图
三、精度控制搜索
1、针对analyzed
字段进行精确查询
POST /test_index/_search
{
"query": {
"match": {
"title": {
"query": "人生苦短,我用python",
"minimum_should_match":"100%" // 精确匹配,需要指定匹配相似度
}
}
}
}
网友评论