मेरे पास मॉडल की संख्या और पृष्ठों को देखने के साथ रेल 4 एप्लिकेशन हैं। मेरे एप्लिकेशन के एप्लिकेशन लेआउट में एक खोज बार है। लेकिन यह अभी तक निष्क्रिय है। खोज बार का उद्देश्य उपयोगकर्ता को कीवर्ड (ओं) के लिए सभी मॉडलों के माध्यम से खोज करने की अनुमति देना है, मूल रूप से इसे वैश्विक खोज बनाना। क्या कोई मणि है जो सार्वभौमिक खोज करता है? या इसे एसक्यूएल प्रश्नों के माध्यम से मैन्युअल रूप से किया जाना है? मैं अपने दृश्य पृष्ठ पर एक विशिष्ट मॉडल के लिए खोज को लागू करने का तरीका देख सकता हूं। लेकिन मैं इसे एक ही समय में सभी मॉडलों के माध्यम से खोजना चाहता हूं। मुझे इसे किस प्रकार करना चाहिए?रेल में सार्वभौमिक खोज को कार्यान्वित करना 4
6
A
उत्तर
5
मुझे लगता है कि आपके मामले में सबसे अच्छा तरीका है ElasticSearch उपयोग करने के लिए है। एक स्वच्छ एकीकरण मणि here प्रदान किया जाता है। दस्तावेज के लिए लिंक उस पृष्ठ पर प्रदान किए जाते हैं।
3
Sunspot रेल ऐप में खोज जोड़ने के लिए सबसे अधिक उपयोग किए जाने वाले मणि में से एक है।
अनुक्रमण इस तरह दिखता है:
class Post < ActiveRecord::Base
searchable do
text :title, :body
text :comments do
comments.map { |comment| comment.body }
end
integer :blog_id
integer :author_id
integer :category_ids, :multiple => true
time :published_at
string :sort_title do
title.downcase.gsub(/^(an?|the)\b/, '')
end
end
end
और खोज:
Post.search do
fulltext 'best pizza'
with :blog_id, 1
with(:published_at).less_than Time.now
order_by :published_at, :desc
paginate :page => 2, :per_page => 15
facet :category_ids, :author_id
end
+1
Sunspot अनेक मॉडल भर में एक खोज – lulalala
3
इसके लिए एक अच्छा दृष्टिकोण gem 'searchkick'
का उपयोग करना होगा जो लोचदार खोज का उपयोग करता है।
Searchkick के लिए संसाधन: https://github.com/ankane/searchkick https://github.com/ankane/searchkick#advanced
संबंधित मुद्दे
- 1. रेल 3 आवेदन पर रूबी में खोज को कार्यान्वित करना?
- 2. विस्तारक कोणीय 4 सार्वभौमिक रेंडरर
- 3. रेल 4: कंसोल से सरल वाइल्डकार्ड खोज
- 4. हेरिस्टिक के साथ बैकट्रैक खोज को कार्यान्वित करना?
- 5. रेल ऐप में WrapBootstrap थीम को कार्यान्वित करना
- 6. इतिहास कार्यान्वित करना। एचटीएमएल 4 फॉलबैक
- 7. रेल के रूप में तेज़ी से खोज को कैसे कार्यान्वित करें (SAYT) एपीआई 3 अनुप्रयोग
- 8. रेल में सत्र 4
- 9. रेल 4 - रेल
- 10. फ्लास्क ऐप में लोचदार खोज को कैसे कार्यान्वित करें?
- 11. Django में पूर्ण पाठ खोज को कैसे कार्यान्वित करें?
- 12. लार्वेल 4 - खोज
- 13. रेल 4
- 14. सार्वभौमिक/आइसोमोर्फिक ऐप्स में पैकेज.जेसन निर्भरताओं को व्यवस्थित करना
- 15. रेल में रहस्यमय EOFError 4
- 16. एकाधिक मॉडलों में रेल खोज
- 17. रेल 4
- 18. रेल 4: आप ट्यूब को एकीकृत करना (youtube_it मणि)
- 19. रेल 4
- 20. इंटरफेस में इंटरफ़ेस गुणों को कार्यान्वित करना?
- 21. सी ++ ऐप में स्क्रिप्ट को कार्यान्वित करना
- 22. रुबी में बेयसियन वर्गीकरण को कार्यान्वित करना?
- 23. SaveChanges में इतिहास ट्रैकिंग को कार्यान्वित करना
- 24. हास्केल में "findM" को कार्यान्वित करना?
- 25. एयरड्रॉप प्रोटोकॉल को कार्यान्वित करना
- 26. "फॉलबैक" कक्षाओं को कार्यान्वित करना
- 27. जावा कंप्रेसर को कार्यान्वित करना
- 28. View.IOnTouchListener इंटरफ़ेस को कार्यान्वित करना
- 29. अंतिम कार्य को कार्यान्वित करना
- 30. रेल 4 - request.original_fullpath और request.fullpath
मणि मॉडल प्रति एक सूचकांक का निर्माण नहीं करता की अनुमति देता है? क्या सभी मॉडलों के लिए एक इंडेक्स बनाने का कोई तरीका है? या वैकल्पिक रूप से आप कई इंडेक्स पर एक बार कैसे खोजते हैं? मुझे एक लिंक पर इंगित करना मेरे लिए काफी अच्छा है। –
pg_search मणि के बारे में कैसे? क्या यह काफी लायक है। क्योंकि मेरा डेटाबेस सनस्पॉट पर खर्च करने के लिए बहुत बड़ा नहीं है। –
@ विवेकट्रिपथी अच्छी तरह से, यदि आपकी खोज सरल है, तो आप 'pg_search' का उपयोग कर सकते हैं, लेकिन इसका मतलब है कि आप अपने डीबी पर फंस जाते हैं और जब आपका ऐप बढ़ता है तो यह काफी स्केलेबल नहीं होता है। – Almaron