Hi Dave The '@' prefix is only used for internal attributes (@geodist, @weight/@relevance) - so give it a shot as just hit_count, not @hit_count.
-- Pat On 05/08/2011, at 2:13 AM, gerberdata wrote: > Hi Pat, > Thanks for the reply first I would like to know more about what > you were thinking about with "generate an attribute on the fly" > I played around with the :sphinx_select syntax and got some errors > with it. Can you tell me what I am doing wrong here. As an > example I tried > > Car.search "",:sphinx_select => '*, @hit_count + 10000 AS > superkarma' > > unknown identifier '@hit_count' (not an attribute, not a function) > > from the documentation it looks like I need to make hit_count an > attribute on the model which I did but > it still doesn't work. > > do you know what am I doing incorrectly here? > > > > > > On Aug 3, 5:17 pm, Pat Allan <[email protected]> wrote: >> Hi Dave >> >> I'm afraid field_weights won't work, because firstly, you'll need to be >> sorting by relevance, and secondly, created_at is an attribute, not a field. >> >> I'm not sure of the finer points, but perhaps you can use Sphinx's select >> query to generate an attribute on the fly, which is essentially a simple >> integer value to set priorities, and sort by that and *then* >> created_at?http://sphinxsearch.com/docs/manual-2.0.1.html#api-func-setselect >> >> Use :sphinx_select to pass the string through in your search query - and >> keep in mind, you'll need to refer to existing attributes, but I don't think >> you can use field values. >> >> -- >> Pat >> >> On 04/08/2011, at 8:43 AM, gerberdata wrote: >> >> >> >> >> >> >> >>> Maybe I could also use field weights >> >>> set_property :field_weights => { >>> :holder_type => 10, >>> :created_at => 6, >>> } >> >>> what would happen to the result if I added weights? >> >>> On Aug 3, 12:58 pm, gerberdata <[email protected]> wrote: >>>> Maybe using group_by will work except I am trying to figure out how to >>>> use the >> >>>> :group_function :attr >> >>>> can this be grouped on a field instead of an attribute? >> >>>> the field I need to group on is holder_type >>>> indexes :image_holder_type, :as => :holder_type >> >>>> On Aug 2, 11:26 pm, gerberdata <[email protected]> wrote: >> >>>>> Pat, >> >>>>> here is the gist of what we are doing >> >>>>> if image_holder == "Car" >>>>> tagger_key = [@image_holder.to_search_key, >>>>> @image_holder.dealerships.collect{|dealership| >>>>> dealership.to_search_key}].flatten.join(" | ") >>>>> end >>>>> conditions = "@tagger_keys (#{tagger_key})" >>>>> query_text = @s_query.blank? ? conditions : @s_query + "* & " + >>>>> conditions >> >>>>> then we run the search >> >>>>> images = Image.search query_text || "", :include=>[:tags], :per_page >>>>> => @image_holder.blank? ? $LIST_PER_PAGE : >>>>> @per_page, :page=>@current_page, :order=>"tagger_keys asc, created_at >>>>> DESC", :match_mode => :boolean >> >>>>> this produces a result where we get the records in the correct order >>>>> according to our tagger_keys, but the created_at is not showing >>>>> in the proper descending order. So the created_at DESC does not seem >>>>> to be run properly we need to show the most recent images within each >>>>> tagger_keys >> >>>>> in our images model we have the tagger_keys sortable >>>>> indexes tags.tagger_key, :as => :tagger_keys, :sortable => true >> >>>>> So basically the date order is what is not working in this current >>>>> form. >> >>>>> Thanks for the help >> >>>>> Dave >> >>>>> On Aug 2, 8:22 pm, gerberdata <[email protected]> wrote: >> >>>>>> we get all the image keys for a car first, then we get all the keys >>>>>> for a car.dealers and then we join all >>>>>> those keys together and pass it into search with the or expression. >>>>>> We need to prioritize this result firstly by the car and then the most >>>>>> recent car image, and then by the car dealer and the most recent >>>>>> image of the car dealer. Right now the result returns only in >>>>>> the date order. >> >>>>>> Is this possible? >> >>>>>> On Aug 2, 7:38 pm, Pat Allan <[email protected]> wrote: >> >>>>>>> Not sure if I quite understand this - do you want to prioritise a >>>>>>> specific image_holder_id, and then sort firstly within that id by date, >>>>>>> and then all other results by date? >> >>>>>>> -- >>>>>>> Pat >> >>>>>>> On 03/08/2011, at 12:04 PM, gerberdata wrote: >> >>>>>>>> Looking to get some help and ideas for this issue I have here. Maybe >>>>>>>> one of the excellent minds on >>>>>>>> this board can help >> >>>>>>>> @images = Image.search >>>>>>>> key1,key2,key3 , :per_page=>1, :page=>pos, :order=>"created_at >>>>>>>> DESC", :match_mode => :boolean >> >>>>>>>> I need to be able to sort as follows >> >>>>>>>> 1. keep the created_at DESC as the first sort >>>>>>>> 2. have an additional sort which sorts on the image_holder_id >> >>>>>>>> here is the indexing for image_holder_id >>>>>>>> has :image_holder_id, :as => :holder_id >> >>>>>>>> so can picture it this way I have a url for one particular cars >>>>>>>> profile and >>>>>>>> I want to show the images of the car first and then the related >>>>>>>> things to car >> >>>>>>>> imageofcar1 created today image_holder:current_car >>>>>>>> imageofcar2 created today image_holder:current_car >>>>>>>> imageofcardealer created today image_holder:car_dealer >>>>>>>> imageofcardealer created today image_holder:car_dealer >>>>>>>> imageofcardealer created yesterday image_holder:car_dealer >>>>>>>> imageofcardealer created yesterday image_holder:car_dealer >> >>>>>>>> But my current result is this >>>>>>>> imageofcardealer created today image_holder:car_dealer >>>>>>>> imageofcar1 created today image_holder:current_car >>>>>>>> imageofcardealer created today image_holder:car_dealer >>>>>>>> imageofcar2 created today image_holder:current_car >>>>>>>> imageofcardealer created yesterday image_holder:car_dealer >>>>>>>> imageofcardealer created yesterday image_holder:car_dealer >> >>>>>>>> this is wrong because I want to show the imagesofcars first then the >>>>>>>> images of cardealers >> >>>>>>>> -- >>>>>>>> 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 >>>>>>>> athttp://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 >>> athttp://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. > -- 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.
