我有此表達其正在按預期在思考斯芬克斯:如何在(思考)sphinx extended2模式下進行屬性匹配?
Customer.search :with => {:signer_id => 23}
但我需要編寫一個表達式與某些屬性的OR,像signer_id是23或admin_level是42,所以移動到擴展匹配模式和寫這個:
Customer.search "@signer_id 23", :match_mode => :extended2
它根據我的Sphinx relevant documentation的理解,應該是等價的,但它並沒有在所有匹配任何內容。任何想法我做錯了什麼?我如何寫一個思維擴展的獅身人面像表達式?
複製和從控制檯粘貼:
ruby-1.8.7-p302 > Customer.search(:with => {:signer_id => 23}).count
=> 20
ruby-1.8.7-p302 > Customer.search "@signer_id 23", :match_mode => :extended2
=> []
ruby-1.8.7-p302 > Customer.search("@signer_id 23", :match_mode => :extended2).count
=> 0
更新:固定的ID(32 - > 23)。
我犯了同樣的錯誤和數學奧運會;他們不敢相信像我這樣的白癡竟然贏了它;)無論如何,我只是在這裏犯了錯誤,代碼很好,仍然沒有工作。 – Pablo 2010-09-17 16:16:20
我在這裏重寫了我的答案。 – 2010-09-20 03:40:52