2011-11-01 6 views

उत्तर

6

सबसे पहले, आपको match_all क्वेरी का उपयोग करना चाहिए: MyModel.search({ query { all } }).results.total। (लुसीन में, हर कीमत पर वाइल्डकार्ड प्रश्नों से बचें।)

वर्तमान में, टायर "गिनती" एपीआई का पर्दाफाश नहीं करता है। वह बदल जाएगा।

+0

क्या गणना संख्या नहीं है यूरी टायर में उपलब्ध है? – Karussell

9

ElasticSearch में आप गिनती एपीआई

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

अपनी साइट पर Count API डॉक्स देखें का उपयोग कर सभी तत्वों को भरोसा कर सकते हैं।

9

बस कर्मी से एक संकेत मिला। गिनती एपीआई अब उपलब्ध है।

आप निम्न कर सकते हैं:

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

0

आप सूचकांक के अंदर दस्तावेजों की संख्या प्राप्त करना चाहते हैं, तो आप भी सिर्फ index stats जांच कर सकता है, इस तरह:

curl -XGET localhost:9200/_stats 

परिणाम में आप डॉक्स की संख्या मिल जाएगा/नष्ट कर दिया दस्तावेज़ (दस्तावेज़ अभी तक विलय नहीं किए गए हैं)।

0

कंसोल से:

Model.search("*:*").results.total 

शायद किसी की मदद;)

1

साथ ही आप elasticsearch-model मणि में ऐसा कर सकते हैं:

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

और तुम लाए जाने का कारण नहीं बनेगा। ..

Article.search("cats", search_type: 'count').map {|r| r.title} 
# => [] 
संबंधित मुद्दे

 संबंधित मुद्दे