Can you share the search call in your controller? > On 29 Nov 2014, at 8:17 am, alexa <[email protected]> wrote: > > Ok I am doing it as such but it is ignoring the age search. For example I am > doing 18-22 search for Males, and it's returning all Males regardless of > their age. > > Params being passed are gender=Male&start_age=18&end_age=23 > > In the view form is setup as: > > select_tag :start_age, options_for_select((18..65) > > select_tag :end_age, options_for_select((20..65) > > The issue seems to be in the sphinx query: > > Sphinx Query (0.9ms) SELECT GEODIST(0.5904448859496816, > -1.464156709498043, latitude, longitude) AS geodist, * FROM `user_core` WHERE > MATCH('@gender Male') AND `geodist` BETWEEN 0.0 AND 100000.0 AND > `sphinx_deleted` = 0 AND `user_id` <> 1 ORDER BY `geodist` ASC LIMIT 0, 20 > > Is it required to pass the age param in the conditions method? As I'm doing > that for gender :gender => params[:gender] > > On Thursday, November 27, 2014 6:09:35 PM UTC-5, Pat Allan wrote: > If age is a column on the users table (and it sounds like it is) then you can > just refer to it directly in the `has` call: > > has age > > Then, you’ll need to run `rake ts:rebuild` to have the Sphinx configuration > and indices updated, and after that: > > User.search params[:query], :with => {:age => 18..55} > > If you’re using your user_age_range method, make sure it’s returning a range > of integers: > > params[:start_age].to_i..params[:end_age].to_i > > Cheers > > — > Pat > >> On 28 Nov 2014, at 5:10 am, alexa <gifted...@ <>gmail.com >> <http://gmail.com/>> wrote: >> >> I can successfully perform a age search using ThinkingSphinx if I do this in >> the controller: >> >> @users = User.where(age: user_age_range) >> >> private >> def user_age_range >> params[:start_age]..params[:end_age] >> end >> >> That requires no changes to the index. However it ignores all my previous >> rules with geo search distance, since I am overwriting my original @users = >> User.search(params[:query] by having two @users statements. >> >> I'm not sure how to adjust it using `age: user_age_range` with the @users = >> User.search(params[:query] . >> >> So I figured the best option would be to do a with condition, :with => { >> :age => 18..55 } and add age as a 'has' attribute so Sphinx can do that max >> computation. But setting up the 'has' attribute has been confusing for me >> lol. What should the age 'has' attribute look like if I am tying to do the >> with condition? >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Thinking Sphinx" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to thinking-sphi...@ <>googlegroups.com <http://googlegroups.com/>. >> To post to this group, send email to thinkin...@ <>googlegroups. >> <http://googlegroups.com/>com <http://googlegroups.com/>. >> Visit this group at http://groups.google.com/group/thinking-sphinx >> <http://groups.google.com/group/thinking-sphinx>. >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. > > > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at http://groups.google.com/group/thinking-sphinx > <http://groups.google.com/group/thinking-sphinx>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>.
-- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/thinking-sphinx. For more options, visit https://groups.google.com/d/optout.
