首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elasticsearch 5中的Word云

Elasticsearch 5中的Word云
EN

Stack Overflow用户
提问于 2017-01-18 14:00:11
回答 1查看 3.3K关注 0票数 1

我能够使用旧的elasticsearch版本使用术语聚合来获取word云。我想从在es5中发布内容获得word云,我正在使用下面的查询。

代码语言:javascript
复制
"aggs": {
        "tagcloud": {
            "terms": {
                "field": "content.raw",
                "size": 10
            }
        }
    }

我做过这样的测绘

代码语言:javascript
复制
"content": {
    "type": "text",
    "fields": {
        "raw": {
            "type": "keyword"
        }
    }
}

但结果并没有像预期的那样成为一个词云。它将类似的帖子(整篇文章)进行分组,并给出如下列表。

代码语言:javascript
复制
"buckets": [
{
    "key" : "This car is awesome.",
    "doc_count" : 199
},
..
..

怎么做?

EN

回答 1

Stack Overflow用户

发布于 2017-01-18 14:43:22

keyword类型与具有not_analyzed索引模式的string几乎相同。整个字符串都是索引的。你只能用精确的值来搜索。在您的示例中,我认为您需要使用分析和标记的字段,例如content字段。但是,您需要确保字段的选项fielddata设置为true。否则,服务器将返回异常。因此,您的映射应该类似于

代码语言:javascript
复制
"content": {
   "fielddata" : true,
   "type": "text"
}

和聚集

代码语言:javascript
复制
"aggs": {
    "tagcloud": {
        "terms": {
            "field": "content",
            "size": 10
        }
    }
}

因此,您应该看到类似的东西(这取决于您所选择的分析器)。

代码语言:javascript
复制
"buckets": [
{
    "key" : "this",
    "doc_count" : 199
},
{
    "key" : "car",
    "doc_count" : 199
},
{
    "key" : "is",
    "doc_count" : 199
},
{
    "key" : "awesome",
    "doc_count" : 199
},
...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41721417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档