(start_date >= date.today AND start_date <= date.today + 23.hours +
59minutes) OR (start_date <= date.today AND end_date >= date.today)
I found using ranges in shinx like:
:start_date => 1.week.ago..Time.now
And I could use it, but only for either first or second part of OR. Is
there possibility to somehow combine two parts of OR statement in
sphinx?
Regards
Lucas
Unfortunately, the only way you can have OR behaviours in filters is searching across multi-value arrays (which are integers). Ranges don't have this ability.
Sorry - good luck finding a solution that works around this limitation.
--
Pat
> --
> You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group.
> To post to this group, send email to thinkin...@googlegroups.com.
> To unsubscribe from this group, send email to thinking-sphi...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
>
I'm having the same issue. Is there a workaround for this?
Thanks,
Tiago Franco
On Mar 28, 6:18 am, Pat Allan <p...@freelancing-gods.com> wrote:
> Hi Lucas
>
> Unfortunately, the only way you can have OR behaviours in filters is searching across multi-value arrays (which are integers).Rangesdon't have this ability.
>
> Sorry - good luck finding a solution that works around this limitation.
>
> --
> Pat
>
> On 26/03/2010, at 10:00 PM, Sarniak wrote:
>
> > Hi!
> > I would like to build such query in sphinx:
>
> > (start_date >= date.today AND start_date <= date.today + 23.hours +
> > 59minutes) OR (start_date <= date.today AND end_date >= date.today)
>
> > I found usingrangesin shinx like:
Create an attribute index based on an SQL snippet (inside define_index
do...end):
has "CASE WHEN run_time IS NULL THEN 0 WHEN run_time < 30 THEN 1 WHEN
run_time > 30 AND run_time < 60 THEN 2 ELSE 3 END", :type
=> :integer, :as => :run_time_mapping
Then just search by that attribute (i.e. Music.search :with =>
{:run_time_mapping => [0,1]} )
Hope it helps.
Tiago Franco
Cheers
--
Pat
On Apr 10, 5:49 am, Pat Allan <p...@freelancing-gods.com> wrote:
> Good suggestionTiago- have just done so.http://freelancing-god.github.com/ts/en/common_issues.html#range_or
>
> Cheers
>
> --
> Pat
>
> On 09/04/2010, at 8:20 AM,TiagoFrancowrote:
>
> > Pat, can you had this tip to the thinking sphinx documentation?
>
> > I think it can be useful.
>
> > Regards,
> > TiagoFranco
>
> > On Apr 7, 12:25 pm,TiagoFranco<gama.fra...@gmail.com> wrote:
> >> Ok, this is how I've done it.
>
> >> Create an attribute index based on an SQL snippet (inside define_index
> >> do...end):
>
> >> has "CASE WHEN run_time IS NULL THEN 0 WHEN run_time < 30 THEN 1 WHEN
> >> run_time > 30 AND run_time < 60 THEN 2 ELSE 3 END", :type
> >> => :integer, :as => :run_time_mapping
>
> >> Then just search by that attribute (i.e. Music.search :with =>
> >> {:run_time_mapping => [0,1]} )
>
> >> Hope it helps.
>
> >>TiagoFranco
>