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.

Reply via email to