当我对字符串字段(使用空格分词器)进行术语聚合时,我得到了每个单词(分词)的结果,但我需要整个字符串的结果。 我如何对术语等字符串字段进行聚合,但按整个字符串而不是标记对输出进行分组?
我已经看到了这个解决方案: ElasticSearch term aggregation Terms aggregation based on unique key 但它们基于关键字分词器
我不能使用关键字分词器,因为我不想在索引时应用停用词过滤器
最佳答案
我刚遇到同样的问题,来这里寻找解决方案。
然后我就明白了。有一个 .raw(未分析的)字段,它起作用了。解决方案是使用它。
所以聚合来自:
{
"aggs": {
"keys": {
"terms": {
"size": 0,
"field": "key"
}}}}}
到:
{
"aggs": {
"keys": {
"terms": {
"size": 0,
"field": "key.raw"
}}}}}
关于标记化字段上的 ElasticSearch 术语聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27815875/