Yeah, I have big concerns about not making this complicated for use in
production. That's a big reason I was excited about Whoosh, it's pure python
like Pygments vs Enscript/Silvercity.

The multiprocessing module might be a big win, but I can't imagine you are
ready to set the minimum version at 2.6. I'll experiment with threading &
queues to see how that handles things. The number of different ways trac can
be used in production (wsgi, cgi, fastcgi, mod_python, tracd, I'm sure I'm
forgetting some) certainly makes it a more "fun" problem.

On Thu, Mar 12, 2009 at 11:57 AM, Alec Thomas <[email protected]> wrote:

>
> 2009/3/13 Chris Mulligan <[email protected]>:
> > So I've had a go of replacing the current search with Whoosh. So far it's
> > actually going fairly well.
> >
> > I implemented some IEnvironmentSetup participants to do the setup (and
> for
> > upgrading an existing environment). That includes some hacky wiki and
> ticket
> > indexers just to get it going to start with. I've replaced the actual
> search
> > results logic with Whoosh, and it's working. I need to do a lot to
> cleanup
> > with how the results are actually displayed so we get the nice summaries.
> >
> > However my question is really a structural one. I see Alec's stream of
> > conciousness suggestion on Advanced Search and basically like the
> concept.
> > However it feels like there's an extra layer. WikiIndexer basically acts
> as
> > a WikiChange -> SearchUpdate bridge. It seems like that function would
> > basically be copied and pasted into all parts of the system that used it,
> > and if part of the goal is to make search more universal (attachments,
> repo,
> > milestones, plugins) it seems like an unfreindly burden on the component
> > authors.
>
> I don't have a solution for this particular problem, though it sounds
> vaguely like the general TracObjects scheme. I don't think there's any
> real way around it with Trac as it stands.
>
> For the indexing itself though, I think a separate indexing process
> would probably be preferable to indexing in a Trac thread, even if the
> thread isn't the request thread itself. A message queue of some
> description might be one approach, with the Trac processes pushing
> references to the objects needing indexing onto the queue, and the
> indexer pulling them off as it processes. This would allow indexing to
> be completely asynchronous. But of course, this requires extra setup,
> and so on.
>
> > I don't, however, have a much better suggestion. The only idea would be
> to
> > stick the SearchUpdate call into the actual wiki/whatever code, and that
> > seems to violate the general trac style.
> >
> > On Wed, Mar 4, 2009 at 8:02 PM, Alec Thomas <[email protected]> wrote:
> >>
> >> I think it's a great idea.
> >>
> >> Some discussion has already been had on this subject:
> >>  http://trac.edgewall.org/wiki/AdvancedSearch
> >>  http://trac.edgewall.org/wiki/SearchRefactoring
> >>
> >> Implementing a Woosh-specific search shouldn't be too difficult.
> >> Implement a bunch of XChangeListeners, update index, profit.
> >>
> >> Integrating a new search system in a general-purpose manner into the
> >> core, would be great, but probably quite a bit more work to get it
> >> right.
> >>
> >> 2009/3/5 Chris Mulligan <[email protected]>:
> >> > Hey Devs,
> >> >
> >> > I'm sure many of you have heard of this new search library, Woosh
> >> > http://whoosh.ca/. It's a pure python search library, and has
> received
> >> > some
> >> > major thumbs up from some of the developers around here. I'm curious
> if
> >> > anyone has looked into implementing woosh (or another similar search
> >> > library
> >> > like Lucene) for Trac?
> >> >
> >> > This is motivated entirely by a local need. As our primary internal
> >> > tracs
> >> > grow (thousands of tickets and wiki pages) it's becoming harder and
> >> > harder
> >> > for users to find already existing content. They end up making lots of
> >> > dupes, making the problem even worse the next time.
> >> >
> >> > Thanks,
> >> > Chris
> >> >
> >> > >
> >> >
> >>
> >>
> >>
> >> --
> >> "Life? Don't talk to me about life." - Marvin
> >>
> >>
> >
> >
> > >
> >
>
>
>
> --
> "Life? Don't talk to me about life." - Marvin
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Trac 
Development" 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/trac-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to