Short description
If you are not used to regular expressions, it is sometimes quite hard to find the desired results in a wiki - even in the well-know mediawiki wiki. E.g. if you want to know something about the singer "Yvonne Cutterfeld" - provided that you don't know how to spell her name correctly - entering "Yvonne Cutterfield" in mediawiki's search does return no results. Now you can start guessing, what's wrong with the name, how to write Cuterfield, Cuterfild, Kutterfeld, Cutterfeld and so on. Now try the same at Google. After hitting "search for Cutterfield" you get the hint there "Did you mean: Yvonne Catterfeld". Wow, yes. Of course I meant that. That's a nice and big help...
Here are some ways to implement that:
Implement some spelling correction mechanism for search terms as a start. Peter Norvig wrote some short pyhton code ready to implement that works on a statistictical basis, see http://www.norvig.com/spell-correct.html. Some people also use the Python Natural Language toolkit for that, see http://www.biais.org/blog/index.php/2007/01/31/25-spelling-correction-using-the-python-natural-language-toolkit-nltk
A step further forward would be not to do some spell checking independent from the existing database, but - if no results are found - display similar results based on the existing pages in the wiki. So if "Cutterfield" cannot be found but you have a lot of pages containing the term "Cutterfeld", the system should be fault-tolerant enough to offer the similar results ("Did you mean: Cutterfeld") --> Question: How to implement that? Can this be done with xapian?
http://www.einfach-fuer-alle.de (a famous German site on accessibility) implemented - based on some ajax technique (?) - an interactive search help: entering e.g. "test" in the quick-search-box automatically opens a drop-down box offering existing searchterms ("test, testen, testament, testcase). Changing the search term interactively changes at the same the offered search terms in the box. --> How to do that? Really needed? It's nice but seems to be some kind of superflous to me...
But all in all: http://test.wikiwikiweb.de/AdvancedSearch is already a big step forward to ease searching. http://test.wikiwikiweb.de/AdvancedSearch also meets most of the the criterias for an accessible and better usable search function (http://www.einfach-fuer-alle.de/award2006/pruefschritte/03-navigation/#nr26). That is great and I am really looking forward to Moin1.6.