Ghan_04
Active member
Title.
I'm so frustrated with this right now because all the documentation I've seen says that the syntax of MyISAM vs. InnoDB fulltext searching is exactly the same. This is demonstrably false.
I've been working on an issue where multi-word searching on xf_search_index hasn't been returning any results. Here is the behavior:
ON MYISAM:
Search for the text '[Shards of Immortality]' returns threads with that in the title. There are many threads with that title - on our roleplaying board, it's how we've been archiving old roleplays.
If I run the following query directly against the database, it returns the correct results:
If I search WITHOUT brackets, I also get the expected results.
ON INNODB:
Search for the text '[Shards of Immortality]' returns NO RESULTS.
If I run the following query directly against the database, it returns NOTHING:
However:
If I run the search directly against the database WITHOUT brackets, I DO get results.
If I run the search on xenForo WITHOUT brackets, I DO NOT get results.
Sense? None.
It would be nice if this were something that I'm missing and being really stupid about, but it doesn't seem like it from the testing I've done. Any suggestions are welcome, though I'm not hopeful of any besides reporting this as a MySQL bug.
P.S. Rebuilding the search index in the admin panel does nothing.
I'm so frustrated with this right now because all the documentation I've seen says that the syntax of MyISAM vs. InnoDB fulltext searching is exactly the same. This is demonstrably false.
I've been working on an issue where multi-word searching on xf_search_index hasn't been returning any results. Here is the behavior:
ON MYISAM:
Search for the text '[Shards of Immortality]' returns threads with that in the title. There are many threads with that title - on our roleplaying board, it's how we've been archiving old roleplays.
If I run the following query directly against the database, it returns the correct results:
Code:
SELECT * FROM xf_search_index WHERE MATCH (title) AGAINST ('[Shards of Immortality]' IN BOOLEAN MODE)
If I search WITHOUT brackets, I also get the expected results.
ON INNODB:
Search for the text '[Shards of Immortality]' returns NO RESULTS.
If I run the following query directly against the database, it returns NOTHING:
Code:
SELECT * FROM xf_search_index WHERE MATCH (title) AGAINST ('[Shards of Immortality]' IN BOOLEAN MODE)
However:
If I run the search directly against the database WITHOUT brackets, I DO get results.
If I run the search on xenForo WITHOUT brackets, I DO NOT get results.
Sense? None.
It would be nice if this were something that I'm missing and being really stupid about, but it doesn't seem like it from the testing I've done. Any suggestions are welcome, though I'm not hopeful of any besides reporting this as a MySQL bug.
P.S. Rebuilding the search index in the admin panel does nothing.