数据准备
- 创建名为book的索引:
PUT
http://localhost:9200/book
{
"settings":{
"number_of_shards":3,
"number_of_replicas":1
},
"mappings":{
"noval":{
"properties":{
"word_count":{
"type": "integer"
},
"author":{
"type":"keyword"
},
"title":{
"type":"text"
},
"publish_date":{
"type":"date",
"format":"yyyy-MM-dd HH-mm-ss||yyyy-MM-dd"
}
}
}
}
}
- 插入数据
简单查询
根据id查询
请求连接(GET
) http://localhost:9200/book/noval/1
返回值
{
"_index": "book",
"_type": "noval",
"_id": "1",
"_version": 1,
"found": true,
"_source": {
"title": "ekasticsearch v1.0",
"author": "luxiaofeng",
"word_count": "28",
"publish_date": "1990-09-20"
}
}
按条件查询
- 查询所有数据
请求连接(POST
) http://localhost:9200/book/_search
请求参数(条件):
{
"query": {
"match_all":{}
}
}
返回值:took
:total
:查询到的总条数hits
:查询到的条数列表(默认返回10条
)
{
"took": 1252,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 12,
"max_score": 1,
"hits": [
{
"_index": "book",
"_type": "noval",
"_id": "2",
"_score": 1,
"_source": {
"title": "ekasticsearch v2.0",
"author": "huamanlou",
"word_count": "28",
"publish_date": "1990-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 1,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "5",
"_score": 1,
"_source": {
"title": "李寻欢啊",
"author": "古龙",
"word_count": "1221",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "6",
"_score": 1,
"_source": {
"title": "花满楼啊",
"author": "古龙",
"word_count": "22",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "7",
"_score": 1,
"_source": {
"title": "西门吹雪啊",
"author": "古龙",
"word_count": "2222",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "11",
"_score": 1,
"_source": {
"title": "丁鹏啊",
"author": "金庸",
"word_count": "2221",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "8",
"_score": 1,
"_source": {
"title": "郭靖啊",
"author": "金庸",
"word_count": "212",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "12",
"_score": 1,
"_source": {
"title": "鸠摩智啊",
"author": "金庸",
"word_count": "44",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "1",
"_score": 1,
"_source": {
"title": "ekasticsearch v1.0",
"author": "luxiaofeng",
"word_count": "28",
"publish_date": "1990-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "3",
"_score": 1,
"_source": {
"title": "楚留香啊",
"author": "古龙",
"word_count": "2811",
"publish_date": "1990-09-20"
}
}
]
}
}
- 根据传递值来返回条数
请求连接(POST
) http://localhost:9200/book/_search
请求参数(条件):from
: 第几条开始返回size
: 返回几条信息
{
"query": {
"match_all":{}
},
"from": 1,
"size": 1
}
返回值:
{
"took": 852,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 12,
"max_score": 1,
"hits": [
{
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 1,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
}
}
]
}
}
- 关键词的查询
请求连接(POST
) http://localhost:9200/book/_search
请求参数(条件):match
:关键字查询的sort
:根据谁排序order
: Desc 从大到小 ase 从小到大
{
"query": {
"match":{
"title":"啊"
}
},
"sort":{
"publish_date":{
"order": "desc"
}
}
}
返回值:
{
"took": 5059,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 10,
"max_score": null,
"hits": [
{
"_index": "book",
"_type": "noval",
"_id": "3",
"_score": null,
"_source": {
"title": "楚留香啊",
"author": "古龙",
"word_count": "2811",
"publish_date": "1990-09-20"
},
"sort": [
653788800000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": null,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "5",
"_score": null,
"_source": {
"title": "李寻欢啊",
"author": "古龙",
"word_count": "1221",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "6",
"_score": null,
"_source": {
"title": "花满楼啊",
"author": "古龙",
"word_count": "22",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "7",
"_score": null,
"_source": {
"title": "西门吹雪啊",
"author": "古龙",
"word_count": "2222",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "11",
"_score": null,
"_source": {
"title": "丁鹏啊",
"author": "金庸",
"word_count": "2221",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "8",
"_score": null,
"_source": {
"title": "郭靖啊",
"author": "金庸",
"word_count": "212",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "12",
"_score": null,
"_source": {
"title": "鸠摩智啊",
"author": "金庸",
"word_count": "44",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "9",
"_score": null,
"_source": {
"title": "杨过啊",
"author": "金庸",
"word_count": "1111",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
},
{
"_index": "book",
"_type": "noval",
"_id": "10",
"_score": null,
"_source": {
"title": "铁中棠啊",
"author": "金庸",
"word_count": "1111",
"publish_date": "1910-09-20"
},
"sort": [
-1870819200000
]
}
]
}
}
tip
:关键字查询的类型好像text
能支持模糊匹配,keyword
不支持。
- 聚合查询
请求连接(POST
) http://localhost:9200/book/_search
请求参数:aggs
:聚合查询请求关键字group_by_word_count
:聚合条件(自定义)terms
:关键词filed
: 聚合字段
{
"aggs": {
"group_by_word_count":{
"terms": {
"field":"word_count"
}
}
}
}
返回值:
{
"took": 2288,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 12,
"max_score": 1,
"hits": [
{
"_index": "book",
"_type": "noval",
"_id": "2",
"_score": 1,
"_source": {
"title": "ekasticsearch v2.0",
"author": "huamanlou",
"word_count": "28",
"publish_date": "1990-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 1,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "5",
"_score": 1,
"_source": {
"title": "李寻欢啊",
"author": "古龙",
"word_count": "1221",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "6",
"_score": 1,
"_source": {
"title": "花满楼啊",
"author": "古龙",
"word_count": "22",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "7",
"_score": 1,
"_source": {
"title": "西门吹雪啊",
"author": "古龙",
"word_count": "2222",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "11",
"_score": 1,
"_source": {
"title": "丁鹏啊",
"author": "金庸",
"word_count": "2221",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "8",
"_score": 1,
"_source": {
"title": "郭靖啊",
"author": "金庸",
"word_count": "212",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "12",
"_score": 1,
"_source": {
"title": "鸠摩智啊",
"author": "金庸",
"word_count": "44",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "1",
"_score": 1,
"_source": {
"title": "ekasticsearch v1.0",
"author": "luxiaofeng",
"word_count": "28",
"publish_date": "1990-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "3",
"_score": 1,
"_source": {
"title": "楚留香啊",
"author": "古龙",
"word_count": "2811",
"publish_date": "1990-09-20"
}
}
]
},
"aggregations": {
"group_by_word_count": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": 28,
"doc_count": 2
},
{
"key": 1111,
"doc_count": 2
},
{
"key": 11,
"doc_count": 1
},
{
"key": 22,
"doc_count": 1
},
{
"key": 44,
"doc_count": 1
},
{
"key": 212,
"doc_count": 1
},
{
"key": 1221,
"doc_count": 1
},
{
"key": 2221,
"doc_count": 1
},
{
"key": 2222,
"doc_count": 1
},
{
"key": 2811,
"doc_count": 1
}
]
}
}
}
key
:字数值(统计标准)doc_count
: 满足key的总数
- 多个聚合条件
请求连接(POST
) http://localhost:9200/book/_search
请求参数:aggs
:聚合查询请求关键字group_by_word_count
:聚合条件(自定义)terms
:关键词filed
: 聚合字段
{
"aggs": {
"group_by_word_count":{
"terms": {
"field":"word_count"
}
},
"group_by_publish_date":{
"terms": {
"field":"publish_date"
}
}
}
}
返回值:
展示了两组聚合数据
{
"took": 381,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 12,
"max_score": 1,
"hits": [
{
"_index": "book",
"_type": "noval",
"_id": "2",
"_score": 1,
"_source": {
"title": "ekasticsearch v2.0",
"author": "huamanlou",
"word_count": "28",
"publish_date": "1990-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 1,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "5",
"_score": 1,
"_source": {
"title": "李寻欢啊",
"author": "古龙",
"word_count": "1221",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "6",
"_score": 1,
"_source": {
"title": "花满楼啊",
"author": "古龙",
"word_count": "22",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "7",
"_score": 1,
"_source": {
"title": "西门吹雪啊",
"author": "古龙",
"word_count": "2222",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "11",
"_score": 1,
"_source": {
"title": "丁鹏啊",
"author": "金庸",
"word_count": "2221",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "8",
"_score": 1,
"_source": {
"title": "郭靖啊",
"author": "金庸",
"word_count": "212",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "12",
"_score": 1,
"_source": {
"title": "鸠摩智啊",
"author": "金庸",
"word_count": "44",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "1",
"_score": 1,
"_source": {
"title": "ekasticsearch v1.0",
"author": "luxiaofeng",
"word_count": "28",
"publish_date": "1990-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "3",
"_score": 1,
"_source": {
"title": "楚留香啊",
"author": "古龙",
"word_count": "2811",
"publish_date": "1990-09-20"
}
}
]
},
"aggregations": {
"group_by_publish_date": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": -1870819200000,
"key_as_string": "1910-09-20 00-00-00",
"doc_count": 9
},
{
"key": 653788800000,
"key_as_string": "1990-09-20 00-00-00",
"doc_count": 3
}
]
},
"group_by_word_count": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": 28,
"doc_count": 2
},
{
"key": 1111,
"doc_count": 2
},
{
"key": 11,
"doc_count": 1
},
{
"key": 22,
"doc_count": 1
},
{
"key": 44,
"doc_count": 1
},
{
"key": 212,
"doc_count": 1
},
{
"key": 1221,
"doc_count": 1
},
{
"key": 2221,
"doc_count": 1
},
{
"key": 2222,
"doc_count": 1
},
{
"key": 2811,
"doc_count": 1
}
]
}
}
}
- 对某个字段进行计算
请求连接(POST
) http://localhost:9200/book/_search
请求参数:aggs
:聚合查询请求关键字group_by_word_count
:聚合条件(自定义)stats
:进行计算关键词filed
: 聚合字段
{
"aggs": {
"group_by_word_count":{
"stats": {
"field":"word_count"
}
}
}
}
返回值:
{
"took": 543,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 12,
"max_score": 1,
"hits": [
{
"_index": "book",
"_type": "noval",
"_id": "2",
"_score": 1,
"_source": {
"title": "ekasticsearch v2.0",
"author": "huamanlou",
"word_count": "28",
"publish_date": "1990-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 1,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "5",
"_score": 1,
"_source": {
"title": "李寻欢啊",
"author": "古龙",
"word_count": "1221",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "6",
"_score": 1,
"_source": {
"title": "花满楼啊",
"author": "古龙",
"word_count": "22",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "7",
"_score": 1,
"_source": {
"title": "西门吹雪啊",
"author": "古龙",
"word_count": "2222",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "11",
"_score": 1,
"_source": {
"title": "丁鹏啊",
"author": "金庸",
"word_count": "2221",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "8",
"_score": 1,
"_source": {
"title": "郭靖啊",
"author": "金庸",
"word_count": "212",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "12",
"_score": 1,
"_source": {
"title": "鸠摩智啊",
"author": "金庸",
"word_count": "44",
"publish_date": "1910-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "1",
"_score": 1,
"_source": {
"title": "ekasticsearch v1.0",
"author": "luxiaofeng",
"word_count": "28",
"publish_date": "1990-09-20"
}
},
{
"_index": "book",
"_type": "noval",
"_id": "3",
"_score": 1,
"_source": {
"title": "楚留香啊",
"author": "古龙",
"word_count": "2811",
"publish_date": "1990-09-20"
}
}
]
},
"aggregations": {
"group_by_word_count": {
"count": 12,
"min": 11,
"max": 2811,
"avg": 920.1666666666666,
"sum": 11042
}
}
}