2016-08-11 10 views

答えて

0

ドキュメントカウントをしたい場合は、あなたがこのようなterms aggregationを使用することによってそれを行うことができます。

POST your_index/_search 
{ 
    "aggs" : { 
     "counts" : { 
      "terms" : { "field" : "your_field" } 
     } 
    } 
} 

UPDATE

あなたが用語数を取得したい場合は、_termvector APIを使用する必要がある、しかし、あなただけの別の後に一つの文書を照会することができます。

GET /your_index/your_type/1/_termvector?fields=your_field 

そしてDOC1のためにあなたが買ってあげる

  • AAA:2
  • BBB:1
  • CCC:1

multi-term vectors APIは助けることができますが、あなたはまだよ用語ベクトルを得るために文書を指定する必要があります。

POST /your_index/your_type/_mtermvectors' -d '{ 
    "docs": [ 
     { 
     "_id": "1" 
     }, 
     { 
     "_id": "2" 
     }, 
     { 
     "_id": "3" 
     } 
    ] 
}' 

そして、あなたのドキュメントのための

あなたが買ってあげる

  • AAA:2 + 1
  • BBB:1
  • CCC:1 + 1
  • WWW:1
+0

用語集合は、各用語の文書数のみを返します。これは、逆索引の各タームで指されるドキュメントの量です(クラスタ化モードで実行されている場合に限ります)。この場合、aaa-2 bbb-1 ccc-2 www-1しか得られません。文書1の2つのaaaに関する情報は失われています。詳細については、https://www.elastic.co/guide/en/elasticsearch/reference/2.0/search-aggregations-bucket-terms-aggregation.html –

+0

を参照してください。良い点@AndreasJägle、私は質問を誤解しました。私はそれに応じて私の答えを更新しました – Val

+0

@Valにお返事ありがとうございますが、私はIDを提供せずにすべての文書の各単語の数を欲しいです。私は言葉の数がほしくない。これを達成するのに役立つ方法はありますか? –

関連する問題