0
ドキュメントが少なく、特定のフィールドのすべてのドキュメントの各単語の数を取得するにはどうすればよいですか?elasticsearchのインデックスとタイプに基づいてすべての文書の語数を取得する方法は?
例:いるDoc1:"AAA BBB AAA CCC" に DOC2:"AAA CCC" DOC3:"WWW"
私はAAA-3のようにそれをしたい、BBB-1、 CCC-2を、WWW-1
ドキュメントが少なく、特定のフィールドのすべてのドキュメントの各単語の数を取得するにはどうすればよいですか?elasticsearchのインデックスとタイプに基づいてすべての文書の語数を取得する方法は?
例:いるDoc1:"AAA BBB AAA CCC" に DOC2:"AAA CCC" DOC3:"WWW"
私はAAA-3のようにそれをしたい、BBB-1、 CCC-2を、WWW-1
ドキュメントカウントをしたい場合は、あなたがこのような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のためにあなたが買ってあげる
multi-term vectors APIは助けることができますが、あなたはまだよ用語ベクトルを得るために文書を指定する必要があります。
POST /your_index/your_type/_mtermvectors' -d '{
"docs": [
{
"_id": "1"
},
{
"_id": "2"
},
{
"_id": "3"
}
]
}'
そして、あなたのドキュメントのための
あなたが買ってあげる
用語集合は、各用語の文書数のみを返します。これは、逆索引の各タームで指されるドキュメントの量です(クラスタ化モードで実行されている場合に限ります)。この場合、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 –
を参照してください。良い点@AndreasJägle、私は質問を誤解しました。私はそれに応じて私の答えを更新しました – Val
@Valにお返事ありがとうございますが、私はIDを提供せずにすべての文書の各単語の数を欲しいです。私は言葉の数がほしくない。これを達成するのに役立つ方法はありますか? –