cool this is very useful information. On Aug 5, 8:51 pm, Pat Allan <[email protected]> wrote: > You can access all attribute values within each object like so: > > image.sphinx_attributes['superkarma'] > > -- > Pat > > On 06/08/2011, at 1:58 AM, gerberdata wrote: > > > > > > > > > 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 > > 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.
