Thank Pat would I be able to see the superkarma value on the returnset #<Image id: 20, name: "Ford", description: "", photo_file_name: "Ford.JPG", photo_updated_at: "2009-12-29 05:52:50", photo_file_size: 78823, image_holder_id: 2, image_holder_type: "Sport", source: "", source_url: "", created_at: "2009-12-29 05:52:51", updated_at: "2009-12-29 05:52:51", creator_id: 9, updater_id: 9, deleter_id: nil, is_deleted: false, hit_count: 18, delta: false>,
I don't see the superkarma value or the hit_count numbervalue changed this is how I ran it Image.search "",:sphinx_select => '*, hit_count + 1000 AS superkarma' On Aug 4, 6:59 pm, Pat Allan <[email protected]> wrote: > 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 > > 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.
