if i may add my 2c here.
i think that one of the things that should be changed is that there should be some linkage between the backend and the front end of the search.
some examples are:
- the sphinx backend does not support "search in topic". however, the UI for "search in topic" is oblivious to the capabilities of the backend, and so, e.g., phpbb.com still has the dysfunctional "search this topic"
- some backends (mysql fulltext) support exact phrase search, but the front-end is ill equipped to support it.
- for some backends (again, mysql fulltext) have a hard time supporting all the options, but "have to" do it anyway, and hence are less efficient than they could have: for instance, in order to support both "search in text *and* subject" and "seach in text only", mysql fulltext has to index everything twice, which is very costly in space and performance (the big performance hit is when adding s new post, not when searching)
in short, i think it would be beneficial if the search capabilities and options that are offered to the user would be those that the backend supports best, and if other backends find it hard to support those options, but can easilly and efficiently supprot others, they should be allowed to.
this can be (relatively easily) supported by either defining an exhaustive array of options and allowing the backend to declare which of the total list is supported and which isn't, or by moving the piece that get the user input for the search to the realm of the "search plugins".
i know it somewhat off-topic, but imho, if any change to the search system is discussed, this is the first order of business.
it is somewhat discouraging that on phpbb oficial site one of the features ("search in topic") does not work. this is not how you build confidence in your product. it would be much better if the UI for the dysfunctional feature was removed also.
just my 2c,
have fun.