= Advanced Search = One of the expected feature for [milestone:1.0] is a much improved search system. But what exactly should be improved? This is the place to discuss it and make proposals. Note that there's currently no development branch dedicated to this topic, but when there will be one, this page can be used to discuss the corresponding implementation details. As usual with Trac, the challenge is that we're not only searching Wiki pages, but other kind of Trac resources as well: tickets, changesets, etc. Therefore, the result shown should also be adapted to the kind of object retrieved (see e.g. #2859). A related question is how the TracSearch and the TracQuery should interact, see Trac-Dev:333, #1329, #2644. == Indexing == It would probably be a good idea if objects were indexed as they are created/updated. This would obviously improve search performance greatly, and no longer effectively require a full retrieval of the entire DB. This could be optional I guess. A generic search system would provide components with a means to index content, query the content in a standard way (ie. a decent query language) and refer to this content at a later date (eg. ticket hits would display the ticket in a useful way, with links to specific comments, etc.) == Search Engines == Several search engines could be good candidate for handling the search requests, but probably this should be done in a pluggable way, so that different search engines could be supported. Among the possible candidates: * [http://www.xapian.org Xapian] and [http://divmod.org/trac/wiki/DivmodXapwrap DivmodXapwrap]. See also the discussion about using Xapin in MoinMoin: MoinMoin:FeatureRequests/AdvancedXapianSearch * [http://pylucene.osafoundation.org/ PyLucene] * [http://hyperestraier.sourceforge.net/ Hyper Estraier] and [http://hype.python-hosting.com/ hype]. * ... ? * There's been some efforts to provide a neutral API for some of the above search engines: - [http://swapoff.org/wiki/pyndexter pyndexter] [[BR]] The Hyperestraier adapter works well, Xapian is coming along nicely and the pure python indexer is based on that used by th:wiki:RepoSearchPlugin (ie. works, but has issues). I have yet to write the !PyLucene adapter, but it doesn't look too difficult. - [http://blog.case.edu/bmb12/2006/08/merquery_summer_of_code_results merquery] [[BR]] This is now a Django specific SoC project.