8

のような検索をしなくても、要素の数があればいいのにと思います。

Obj.search("id:*").count

これは可能ですか?

4

7 に答える 7

10

ElasticSearch では、カウント API を使用してすべての要素をカウントできます

curl -XGET http://localhost:9200/index/_count

サイトでCount APIドキュメントを参照してください。

于 2011-11-09T00:52:59.130 に答える
9

まず、次のmatch_allクエリを使用する必要がありますMyModel.search( { query { all } }).results.total。(Luceneでは、ワイルドカードクエリは絶対に避けてください。)

現在、Tireは「カウント」APIを公開していません。それは変わるでしょう。

于 2011-11-01T17:22:49.460 に答える
9

カルミからヒントをもらいました。カウント API が利用可能になりました。

次のことができます。

s = Tire.search 'articles-test', :search_type => 'count' do
  query { term :tags, 'ruby' }
end

その時だけs.results.total定義されます。

ここを参照してください: https://github.com/karmi/tire/blob/master/test/integration/count_test.rb

于 2012-05-10T20:05:37.120 に答える
4

gem 'elasticsearch-model' を使用している場合、ここに素晴らしいワンライナーがあります:

Elasticsearch::Model.client.count(index: 'your_index_name_here')['count']
于 2018-03-12T17:52:30.257 に答える
2

これはelasticsearch-modelgemでも行うことができます。

Article.search("cats", search_type: 'count').results.total
# => 2026

そして、あなたはフェッチを引き起こしません...

Article.search("cats", search_type: 'count').map {|r| r.title}
# => []
于 2015-12-05T00:17:21.403 に答える
0

インデックス内のドキュメントの数を取得する場合は、次のようにindex statsを確認することもできます。

curl -XGET localhost:9200/_stats

その結果、ドキュメントの数/削除されたドキュメント (まだマージされていないドキュメント) が表示されます。

于 2014-08-29T19:34:46.313 に答える