Chris Mulligan wrote:
> I have some code from a day or so ago here with me at work. I've 
> uploaded it to 
> http://trac.edgewall.org/attachment/wiki/AdvancedSearch/. 
> Unfortunately, I forgot to `svn add wiki/search.py ticket/search.py`, 
> so they're not in the diff and it's missing a lot of the interesting 
> code. I'll update it this evening with the current diff I have at home.

Looks like a good start, once I get the full code I'll try it!

However, there are already some remarks I want to do based on this first 
patch:
 - I don't think it's a good idea to make whoosh a mandatory 
requirement, it should stay optional
 - Therefore the current db select/like based search code should be kept 
somewhere, probably refactored as the fallback search backend

Of course, when whoosh is available, the WhooshSearchSystem should 
certainly become the default ISearchBackend. A ISearchBackend interface 
could have the methods you gave to the public API of SearchSystem in 
your patch, plus a search(query) method and probably also a 
search_syntax_help() method for describing the search query syntax.

Besides, I don't know if you had already taken a look at the 
SearchRefactoring page, but at least one idea which I think is worth 
reusing from there is the relative ranking of fields (e.g. a match in 
the "keywords" fields is worth n times a match in the description, for 
example). Is it possible to do this with whoosh?

-- Christian

--~--~---------~--~----~------------~-------~--~----~
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