获取elasticsearch中某个字段的唯一值并获取所有记录
Get unique values of a field in elasticsearch and get all records
我正在使用 elasticsearch 2x 版本
我想要一个字段中的不同值。我在查询中只得到 10 个值。
我如何更改它以查看所有不同的记录?
以下是我正在使用的查询:
GET messages-2017.04*/_search
{
"fields": ["_index"],
"query": {
"bool": {
"must":{
"bool":{
"should": [
{
"match": {
"RouteData": {
"query": "Q25B",
"type": "phrase"
}
}
}
]
}
}
}
}
}
我需要从数据库中获取所有不同的 _index 名称。
您需要改用 terms
聚合,如下所示:
POST messages-2017.04*/_search
{
"size": 0,
"query": {
"bool": {
"must":{
"bool":{
"should": [
{
"match": {
"RouteData": {
"query": "Q25B",
"type": "phrase"
}
}
}
]
}
}
}
},
"aggs": {
"all_indexes": {
"terms": {
"field": "_index",
"size": 100
}
}
}
}
我正在使用 elasticsearch 2x 版本
我想要一个字段中的不同值。我在查询中只得到 10 个值。 我如何更改它以查看所有不同的记录?
以下是我正在使用的查询:
GET messages-2017.04*/_search
{
"fields": ["_index"],
"query": {
"bool": {
"must":{
"bool":{
"should": [
{
"match": {
"RouteData": {
"query": "Q25B",
"type": "phrase"
}
}
}
]
}
}
}
}
}
我需要从数据库中获取所有不同的 _index 名称。
您需要改用 terms
聚合,如下所示:
POST messages-2017.04*/_search
{
"size": 0,
"query": {
"bool": {
"must":{
"bool":{
"should": [
{
"match": {
"RouteData": {
"query": "Q25B",
"type": "phrase"
}
}
}
]
}
}
}
},
"aggs": {
"all_indexes": {
"terms": {
"field": "_index",
"size": 100
}
}
}
}