[Mediawiki-l] Article words absent from MySQL full-text index
Daniel Barrett
danb at VistaPrint.com
Tue Oct 28 19:47:51 UTC 2008
(This is not a question about MySQL "stop words...")
I have found some weird search behavior in our MediaWiki site (1.13.2) and reproduced it on two other sites. There is a word on one article that is not searchable. When I check the MySQL full text index table, the word is not present. Any clues where I should look next to figure this out? MySQL version = 5.0.45.
In our case the word is "vbr_drawstats". It appears in 4 articles on our wiki, but search finds only 3 of the articles. When I check the index directly by SQL:
SELECT si_title FROM `vpw_searchindex`
WHERE MATCH(si_text) AGAINST('+vbr_drawstats' IN BOOLEAN MODE)
I get 3 hits instead of 4.
Let's call the missing fourth article "badsearch". Here are the strange facts:
1. I can search for other words on "badsearch", so the article IS present in the index.
2. If I copy the text of "badsearch" to another article, the same problem occurs.
3. The namespace containing "badsearch" IS being searched.
4. If I modify the "badsearch" article, say, by placing "vbr_drawstats" at the top of the article text, then badsearch DOES get found by search.
5. If I remove a bunch of lines from the end of badsearch (not containing "vbr_drawstats"), then badsearch DOES get found by searching for vbr_drawstats.
6. If I turn on SQL logging in MediaWiki, and see the query that gets run for search, and run it directly in MySQL, I get the same results. So MySQL is returning the wrong info. (But is MediaWiki causing this to happen in any way?)
My instinct is this is a bug in MySQL, but I suppose there is a small chance MediaWiki is doing something weird. Anyone have any ideas what to check next?
Thanks,
DanB
More information about the MediaWiki-l
mailing list