Last modified: 2010-05-15 15:28:21 UTC
The search doesn't return results when there is more than one match. I changed the code in line 329-330 of includes/SearchEngine.php from: $cond .= " (MATCH (##field##) AGAINST ('" .wfStrencode( $word ). "'))"; to: $cond .= " (##field## REGEXP '[[:<:]]".wfStrencode( $word )."[[:>:]]')"; Now it works as expected. Just wanted to share this. Context: Redhat 9 default installation with apache and mysql.
What does "more than one match" mean? What are the actual results? What are you testing with? Can you confirm that the search index is correct? Are the terms too short for the search index? If you do this, your search will be *incredibly* slow since it will scan the entire database's text, entry by entry, on every search.
The sample search term provided via e-mail works fine after addition of a third page to the wiki so that term was not automatically discarded as uninformative (present in 50% of the search database).