Author: morbus
Description:
I'm having "issues" with searching that I'm not exactly sure how to solve, and all of these are evident at the specified URL. In
essence, if I search for the word "four", I get absolutely no results. The SQL in question is roughly: SELECT * from searchindex
where MATCH (si_text) AGAINST ('+four' IN BOOLEAN MODE); (this is for MySQL 4, naturally). But, if I turn around and do a
decidedly MySQL 3.x query: SELECT * from searchindex where si_text LIKE '%four%'; I get back the two entries I expect. This
seems to tell me that the searchindex table is "Ok". To doublecheck, I dumped the table, deleted it, recreated it, and reimported
the data (thus recreated the indexes). Same result.
The real goal here is to show all matches for the word "EC" - I don't want "suspect" to be matched, but I want "-20 EC." and
similar entries (EC is a date measurement). To let MySQL search for these smaller words, I've already modified the my.cnf and set
it at 2 characters, and then rebuilt my index (REPAIR searchindex QUICK). But, somewhere in the wiki code (at the very least in
the display settings), searches are being done as strings, and not word boundaries. Is there anyway to force a word boundary? To
make matters worse, searching for "ec" at http://gamegrene.com/wiki/ "works" (because of my edit to my.cnf) but matches on
"suspect". However, searching for "ur", which should match on "procedure", doesn't return any results (but "procedure" does, as
opposed to "four").
ARggGh!
Version: 1.3.x
Severity: minor
URL: http://gamegrene.com/wiki/Special:Search?search=ec&fulltext=Search