Ah awesome, good to know. Thank you!

On Wed, Feb 23, 2011 at 7:09 PM, Pat Allan <[email protected]> wrote:

> This is the case for TS in general, 2.x and 1.x - named_scopes have never
> worked with TS. Dealing with what AR creates for scopes just isn't worth the
> hassle, from an internal code perspective.
>
> Sphinx scopes should be fine with :include, they just won't merge when
> chained. Chained :include values from sphinx scopes will overwrite each
> other.
>
> --
> Pat
>
> On 24/02/2011, at 11:03 AM, Aaron Gibralter wrote:
>
> > So is that just the case in 1.4.3?
> >
> > Does sphinx scope accept :include?
> >
> > In any case, I'm fine for now using `with_scope`...
> >
> > Thanks again for the help!
> >
> > On Wed, Feb 23, 2011 at 6:55 PM, Pat Allan <[email protected]>
> wrote:
> > Hi Aaron
> >
> > Yeah, you still can't use named_scopes with search calls. You can
> redefine the named_scope as a sphinx scope as well, though, then use that?
> >
> > --
> > Pat
> >
> > On 24/02/2011, at 10:52 AM, Aaron Gibralter wrote:
> >
> > > Hi Pat,
> > >
> > > Unfortunately, I haven't gotten a chance to upgrade to Rails 3 so I'm
> still using 2.3.11 + TS 1.4.3...
> > >
> > > This definitely does not seem to work in 1.4.3:
> > >
> > > Model.named_scope1.sphinx_scope1.sphinx_scope2.search(...)
> > >
> > > Where named_scope1 is {:include => [...]}
> > >
> > > I could imagine that it works in TS 2 though...
> > >
> > > Thanks,
> > > Aaron
> > >
> > > On Wed, Feb 23, 2011 at 6:47 PM, Pat Allan <[email protected]>
> wrote:
> > > Hi Aaron
> > >
> > > You should be able to pass through :include into the search call - is
> this not working for you in v2?
> > >
> > > Looking at the code, it should probably work in a basic sense for
> sphinx_scopes as well - if you chain scopes with their own :include setting,
> then the last one is what's used (ie: include values aren't merged, unlike
> :with, :conditions, etc).
> > >
> > > Cheers
> > >
> > > --
> > > Pat
> > >
> > > On 24/02/2011, at 10:36 AM, Aaron Gibralter wrote:
> > >
> > > > The thing is I'm mainly looking to ensure that TS correctly uses
> :include to avoid N+1 queries... I don't think sphinx_scopes help with
> that...
> > > >
> > > > I guess I could use search_for_ids... but don't you also have to do:
> > > >
> > > > @collection = @collection.collect do |item|
> > > >   @collection[ids.index(item.id)]
> > > > end
> > > >
> > > > to ensure that the order of the results is preserved?
> > > >
> > > > Alternatively, this works:
> > > >
> > > > with_scope(:find => {:include => ...}) do
> > > >   Model.search(...)
> > > > end
> > > >
> > > > In that case, Sphinx respects the scope when it preforms the find on
> the ids.
> > > >
> > > > On Wed, Feb 23, 2011 at 5:52 PM, Clemens Kofler <[email protected]>
> wrote:
> > > > I've used search_for_ids successfully in the past like so:
> > > >
> > > > ids = Model.search_for_ids(... whatever ...)
> > > > @collection = Model.active.published.whatever.find(ids)
> > > >
> > > > The alternative, as was mentioned, is to use sphinx_scope and/or
> > > > handle some of that stuff in the index itself. You can, for instance,
> > > > choose to only index posts that have published = true if that makes
> > > > sense in your business rules (e.g. if the search isn't used in the
> > > > backend where you also list/search for unpublished posts).
> > > >
> > > > - C.
> > > >
> > > > On Feb 23, 11:11 pm, Aaron Gibralter <[email protected]>
> > > > wrote:
> > > > > Is this still the case? It seems like named_scope is ignored as of
> 1.4.3...
> > > > > but how about the v2 branch? Does TS support dynamic arel queries?
> > > > >
> > > > > I could see why conditions, orders, and limits would be ignored...
> but it's
> > > > > tough not being able to include includes to avoid N+1 queries...
> what's the
> > > > > best way to do it? search_for_ids then pass those to a named_scope
> find?
> > > > > with_scope seems to work too...
> > > >
> > > > --
> > > > 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.
> > >
> > > --
> > > 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.
> >
> > --
> > 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.
>
> --
> 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