先在novel索引上对【category】字段分类聚合,通过在kibana上的测试,出现了一些问题,此问题的原因是类型不是keyword,对需要聚合类的需要设置Type为keyword。因为keyword类型在聚合的时候是作为一个整体的,而text类型会把字分开。
    image.png
    对以上问题的实时方案:
    我们重新创建一个名为【 novel_category_count 】索引,并对其mapping 的category字段类型修改为keyword。
    原novel的mapping:
    image.png
    重新创建一个mapping
    将category字段类型修改为keyword:
    image.png
    加载数据:

    1. # 加载数据
    2. POST _reindex
    3. {
    4. "source": {
    5. "index": "novel"
    6. },
    7. "dest": {
    8. "index": "novel_category_count"
    9. }
    10. }

    测试:

    1. GET novel_category_count/_search
    2. {
    3. "size": 0,
    4. "aggs": {
    5. "category_count": {
    6. "terms": {
    7. "field": "category"
    8. }
    9. }
    10. }
    11. }

    image.png