Elasticsearch计算忽略空格的术语

发布于 2021-02-01 11:53:23

使用ES 1.2.1

我的聚集

{
    "size": 0,
    "aggs": {
        "cities": {
            "terms": {
                "field": "city","size": 300000
            }
     }
 }

}

问题是某些城市名​​称中包含空格,并分别汇总。

例如洛杉矶

{
    "key": "Los",
    "doc_count": 2230
},
{
    "key": "Angeles",
    "doc_count": 2230
},

我认为这与分析仪有关吗?我将使用哪一个不分割空格?

关注者
0
被浏览
136
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    对于要对其进行聚合的字段,我建议您使用关键字分析器,或者根本不分析该字段。从关键字分析器文档中:

    类型为关键字的分析器,可将整个流“标记为”单个标记。这对于诸如邮政编码,ID之类的数据很有用。注意,在使用映射定义时,将字段简单标记为not_analyzed可能更有意义。

    但是,如果您仍要对该字段执行分析以包括其他搜索,请考虑使用ES 1.x的字段设置,如field /
    multi_field文档中所述
    。这将使您拥有一个用于搜索的字段值和一个用于聚合的字段值。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看