Hi David
Something like this is probably possible using :sphinx_select to create a new
attribute on the fly, and then sort by it first, otherwise weight.
priority_value = 5
Model.search 'a*',
:sphinx_select => "*, IF(my_attribute = #{priority_value}, 1, 0) AS
priority",
:order => 'priority DESC, @weight DESC'
Keep in mind that this won't work for string attributes, as Sphinx doesn't let
you filter by them.
--
Pat
On 09/09/2011, at 5:18 AM, David Worth wrote:
> Hello All,
>
> Apologies if I have not read the appropriate FAQ for this group (I
> looked and failed) before posting this question.
>
> I'm attempting to use TS in what is to my mind, a complicated
> fashion. I have a field and an attribute and I would like the search
> results sorted in the following fashion: If a parameter passed to my
> search matches (exactly) the attribute I would like it's result
> "promoted" within the search results such that it appears first, then
> within those results matching the attribute, and those not, I would
> like the sort by @weight as expected.
>
> An example may help, given the following data where the first column
> is the indexed field and the second is the attribute:
>
> "arizona", "A"
> "ariba", "B"
> "a", "B"
> "atlantic", "C"
>
> the query searching for "a" with the attribute set to "B" would
> produce the following results (where the order of "a" and "ariba" is
> not important):
>
> "a", "B"
> "ariba", "B"
> "arizona", "A"
> "atlantic", "C"
>
> Is this feasible within Sphinx and/or ThinkingSphinx? Are there
> examples of such a sort order that I've missed in my google searches?
>
> Thank you for your time,
> Dave
>
> --
> 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.