2008-11-03 14 views
9

पर "नॉट न्यूल" की स्थिति कैसे जोड़ूं, मैं this video के बाद पूर्ण-पाठ खोज के लिए थिंकिंग स्फिंक्स का उपयोग कर रहा हूं।मैं सोच रहा हूं कि स्पिंक्स खोज

मैं निम्न कार्य करना चाहते हैं:

@articles = Article.search(params[:search], :conditions => "published_at IS NOT NULL", :order => :created_at) 

समस्या यह है कि यह काम नहीं करता है। ऐसा लगता है कि खोज विधि केवल उन स्थितियों को स्वीकार करती है जो हैश हैं। मैं कई तरीकों से कोशिश की है, लेकिन मैं अनजान हूँ मैं कैसे प्रतिनिधित्व कर सकते हैं के रूप में एक हैश के रूप में "published_at नहीं शून्य है" ...

उत्तर

24

Railscasts

पर समाधान के ऊपर दिया गया था आप तो उस मॉडल के लिए * सभी * परिणाम चाहते हैं जहां रिकॉर्ड्स को फ़िल्टर करने के लिए प्रकाशित किया गया है, जहां प्रकाशित है IAT NULL, 'def "__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

यदि यह केवल कभी कभी है, एक विशेषता के रूप में published_at जोड़ें और फिर स्फिंक्स 0 के रूप में अशक्त दिनांकों स्टोर चाहिए, ताकि आप का उपयोग कर फ़िल्टर कर सकते हैं: बिना => {: published_at => 0}

दूसरा समाधान मुझे क्या चाहिए था।

+0

एक उत्तर में बहुत अच्छी चीजें :) –

+0

क्या यह उत्तर अभी भी ThinkingSphinx 3.2 @pat के लिए मान्य है? 'बिना => {: publ_at => 0} 'अब काम नहीं कर रहा है – 0x4a6f4672

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