Hi! Since I'm late with another blog entry, here's a very short one: I thought you might like to see the initial design document for the forum advanced search feature.
This is still sort of subject to consultation, but not very, because we're about to start development (by which I mean, Mahmoud is). Still, if you see anything horrible in there you want to comment about, please feel free.
Comments
New comment
Hi Sam,
How about wildcard operator (e.g. * - match 0 or more characters, and ? - match 1 character). [within text input box]
Case sensitivity? this can really help to filter out stuff if you have additional knowledge before searching (it would definitely help us computing/programming students!). [checkbox]
Return results as discussions or as individual posts [radio button]
Also of great importance for subjects that may be found under one of many synonyms is an 'or' operator. Either like google's upper case OR to link words or maybe the good old pipe double symbol '||'. Without the OR operator I don't think you can seriously call it an advanced search!
P.s. is there no way to use moodle wiki to draft up and comment on the design, passing around a MS .doc file is so 1990's!
cheers, Will
New comment
This is where I say, sorry we can't do any of that. First though, apologies for not responding to this comment. I really need to figure out some way to read the comments RSS feed, but I haven't yet. Sorry. And now, without further ado...
Sorry, we can't do any of that.
Wildcard operator in free text search, not possible at present (ousearch full-text search system does not support it and we don't have the capacity to enhance it at this point). It's maybe feasible within the system, although I'd be quite concerned about performance (fulltext search is already pretty stressed if you do stupid things like search for 'a' with various combinations, I hate to think what would happen if you search for 'a*').
Case sensitivity is feasible (the index isn't case-sensitive, but we can filter results). Maybe in a future version if enough students/tutors ask for it.
Return results as discussion instead of post - not feasible at present (same reason, full-text search doesn't support it; the system considers each post as a separate 'search document'). I guess we could make it work but it would require major changes.
We don't support OR because, surprise... the full-text search system doesn't. Also, I remain unconvinced that anyone needs it Back when Google introduced 'default is AND' everyone's life suddenly got better; do we really need a way to construct complex Boolean searches when it's only a forum? While very difficult (I considered it once before) it is probably feasible, we would just need to make it run multiple separate searches and combine the results. Unless that gets implemented, the workaround is for users to do that manually...
So basically, the design parameters for this advanced search were, let's see if we can achieve some key requirements without making any changes to the full-text search system. Unfortunately that did rule out other possible changes. But in our defence, this system (date, name) does actually achieve the top requirements.
And yes I wrote the full-text search system which obviously sucks! (For various reasons, especially the fact that we were contemplating a database change at the time, we couldn't use the database built-in one. We needed something with good performance and, critically, that can fully support the complex set of permissions so that we don't show results you can't access; that ruled out all the 'off-the-shelf' options I looked at at the time.)
I don't think there is really any prospect of improving it much because we clearly can't afford to develop a fully-featured search system. Best hope would be if somebody (either us or Moodle core) integrates some other open-source search system in future.
New comment
Not exactly to revise what I said but it occurs to me that my earlier comment was rather negative! So, I'll pass your feature requests onto Sharon who manages features for ForumNG. Maybe it will push changing the search system up the agenda.