首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据elasticsearch中的索引和类型获取所有文档的单词计数?

如何根据elasticsearch中的索引和类型获取所有文档的单词计数?
EN

Stack Overflow用户
提问于 2016-08-11 10:41:32
回答 1查看 1.1K关注 0票数 2

如果我有很少的文档,并且想要得到所有文档中每个单词的计数,那么我该如何获得?

例: Doc1:"aaa bbb ccc“doc2:"aaa ccc”doc3:"www“

我想要aaa-3,bbb-1,ccc-2,www-1

EN

回答 1

Stack Overflow用户

发布于 2016-08-11 10:47:27

如果要对文档进行计数,可以使用如下所示的聚合

代码语言:javascript
复制
POST your_index/_search
{
    "aggs" : {
        "counts" : {
            "terms" : { "field" : "your_field" }
        }
    }
}

更新

如果您想获得术语计数,则需要使用API接口,但是,您只能一个接一个地查询一个文档。

代码语言:javascript
复制
GET /your_index/your_type/1/_termvector?fields=your_field

对于doc1,你会得到

  • aaa: 2
  • bbb: 1
  • ccc: 1

多项向量API可以帮助您,但是您仍然需要指定文档来获取术语向量。

代码语言:javascript
复制
POST /your_index/your_type/_mtermvectors' -d '{
   "docs": [
      {
         "_id": "1"
      },
      {
         "_id": "2"
      },
      {
         "_id": "3"
      }
   ]
}'

为了你的医生你会得到

  • aaa: 2+1
  • bbb: 1
  • ccc: 1+1
  • www: 1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38894089

复制
相关文章

相似问题

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