Hi Jon
There's a couple of things to keep in mind that should get you on the way to
what you want:
* :with is for attributes (not fields) - and you definitely want an attribute
when dealing with numbers.
* If your attribute is a float (which is what decimals get converted to),
you'll need to filter by floats.
So, change that 'indexes' line to a 'has' line (and remember - attributes are
sortable by Sphinx without any trickery):
has price
And then for filtering:
Event.search '*a*', :with => {:price => 1.0..1000.0}
You could try aiming for exact values, but not sure how reliable that is with
floating point values...
Event.search '*a*', :with => {:price => 11.0}
If that doesn't work, try the following:
Event.search '*a*', :with => {:price => 10.59..11.01}
One last unrelated thing: if you always want stars around each word, just use
:star => true when searching :)
Hope this helps.
--
Pat
On 19/08/2010, at 11:49 PM, Jon wrote:
> Hi
>
> I'm trying to index a decimal(8,2) field in MySQL.
>
> I'm trying to do it like this in the model:
> define_index do
> indexes "cast(price as unsigned)", :as=> :sphinx_price, :sortable=>true
> end
>
> I rebuild the index and try to search, but nothing seems to work:
> e=Event.search :with=>{:sphinx_price=>11}
> e=Event.search "*a*" :with=>{:sphinx_price=>11}
>
> I really want it to find a range, but this doesn't work either:
> e=Event.search "*a*" :with=>{:sphinx_price=>1..1000}
>
> They just return empty set, if i do a:
> e=Event.search "*a*"
> I get all the results I expect to.....
>
>
> Any help would be much appreciated :)
>
> Thanks
>
> Jon
>
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Thinking Sphinx" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/thinking-sphinx?hl=en.
--
You received this message because you are subscribed to the Google Groups
"Thinking Sphinx" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/thinking-sphinx?hl=en.