我正在尝试构建一个Elasticsearch查询,只返回特定字段的唯一值。
我不想返回该字段的所有值或计数。
例如,如果该字段当前包含50个不同的值,并且我进行搜索以仅返回20个命中项(size=20),我希望每个结果都具有该字段的唯一结果,但我不关心结果中未表示的其他30个值。
例如,使用以下搜索(伪代码 - 未经检查):
我不想返回该字段的所有值或计数。
例如,如果该字段当前包含50个不同的值,并且我进行搜索以仅返回20个命中项(size=20),我希望每个结果都具有该字段的唯一结果,但我不关心结果中未表示的其他30个值。
例如,使用以下搜索(伪代码 - 未经检查):
{
from: 0,
size: 20,
query: {
bool: {
must: {
range: { field1: { gte: 50 }},
term: { field2: 'salt' },
/**
* I want to return only unique values for "field3", but I
* don't want to return all of them or count them.
*
* How do I specify this in my query?
**/
unique: 'field3',
},
mustnot: {
match: { field4: 'pepper'},
}
}
}
}