Ditto. The Context seems to make no difference, even with the Taxonomy plugin installed too. The only thing that seems to make much of a difference is limiting the search to the title.
I’ve been looking at quite a few materials on matching and it isn’t necessary that the content would give better matches. It might give more, albeit, less quality matches vs. the title which would give you a cleaner match and more specific since limited terms are being searched out.
At the end, it is something worth checking with your site as you did above and picking up the version that worked best.
In a future version, I plan to add weighting criteria for content and title either in the default plugin or as part of an addon.
Thread Starter
Jahn
(@bvashram108)
Thanks for replying, but what we are saying is it picks the same 6 articles to includde as related for all 800 articles on our site. That is impossible without there being a bug in it.
Perhaps not everyone is getting this, but at least two of us have.
Yes, that clearly isn’t or shouldn’t be possible!
Does it work if you:
a) Recreate the index and delete the inbuilt plugin cache
b) Do a complete delete and reinstall the plugin?
Does it work if you:
a) Recreate the index and delete the inbuilt plugin cache
b) Do a complete delete and reinstall the plugin?
Nope & nope.
The context engine just does not work.
With titles alone, it works OK, but that’s a little underwhelming given what the plugin is supposed to deliver.
May I know which host you are on?
And, can you please check in your Database if you do have a posts’ table index.
My host is midphase.
Yes, my posts table exists and has entries, though it (and all the other tables) have been renamed from wp_posts to zzz_posts, where “zzz” is a more secure term used to reduce hacking attempts.
If your plugin is specifically looking for wp_posts, then we’ve located the issue right there.
The plugin doesn’t look at wp_. It uses whatever prefix has been specified by $wpdb->prefix which in your case would be “zzz”
Can you check if the posts table has the FULLTEXT index. In phpMyAdmin this is hidden at the bottom of the page where you have the Posts Table Structure listing.
Without the FULLTEXT index, the plugin won’t function.
That’s it. No FULLTEXT index. Only a PRIMARY index.
How does one generate a FULLTEXT index? If it’s part of WordPress, how come it’s not enabled for my database?
BTW, all the tables in my DB are type MYISAM, but the posts table (and subscribe to comments) are shown as InnoDB.
Shouldn’t they all be the same type?
Switched everything over to InnoDB. Will that help?
It is not a part of WordPress. It should be generated by the plugin on activation.
Important point to note is your mySQL version. innoDB only supports fulltext index from version 5.6 onwards. Before that your table needs to be myISAM.
On activation, the plugin will check this and attempt to alter the tables accordingly.
You can also run this code manually to create the index.
ALTER TABLE wp_posts ADD FULLTEXT crp_related (post_title, post_content);
ALTER TABLE wp_posts ADD FULLTEXT crp_related_title (post_title);
ALTER TABLE wp_posts ADD FULLTEXT crp_related_content (post_content);
https://github.com/WebberZone/contextual-related-posts/blob/master/contextual-related-posts.php#L1122