Reputation: 23395
I am trying to perform the following search as per the docs
with_delivery = "*, IF(delivery = 1 OR region_id IN (001,002,003), 1, 0) AS delivery"
Listing.search 'ipod',
select: with_delivery,
with: { 'delivery' => 1 }
However I get the following error:
ThinkingSphinx::SyntaxError: sphinxql: syntax error, unexpected IN, expecting ',' or ')' near 'IN (001...
It seems like sphinx cannot handle the IN syntax here, but this does not make sense since it uses this in the configs.
I am not really sure how to move past this, any help or suggestions are appreciated! :)
Upvotes: 0
Views: 55
Reputation: 16226
IN()
in Sphinx behaves a little differently to how you're using it - the first argument should be the attribute:
with_delivery = "*, IF(delivery = 1 OR IN(region_id, 1, 2, 3), 1, 0) AS delivery"
Listing.search 'ipod',
select: with_delivery,
with: {delivery: 1}
Upvotes: 1