Finally,I figured it out.
The wp_my_calendar on my RDS was using InnoDB storage engine which doesn’t support the My Calendar search query ‘MATCH’
SELECT SQL_CALC_FOUND_ROWS * FROM wp_my_calendar WHERE event_flagged = 0 AND MATCH(event_title,event_desc,event_short,event_label,event_city) AGAINST ('audience' IN BOOLEAN MODE) AND event_status = 1 ORDER BY event_ID DESC LIMIT 0, 20
I changed its storage engine to MyISAM
alter table wp_my_calendar engine=MyISAM
Now I am able to get search result from My Calendar,but only in English,Multi-byte like Korean,Japanese,Chinese doesn’t work.
I checked how wordpress itself get search result.Wordpress uses LIKE search query which is perfectly working on InnoDB or MyISAM storage engine
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND (((wp_posts.post_title LIKE '%audience%') OR (wp_posts.post_content LIKE '%audience%'))) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'future' OR wp_posts.post_status = 'draft' OR wp_posts.post_status = 'pending' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_title LIKE '%audience%' DESC, wp_posts.post_date DESC LIMIT 0, 20
I would suggest you change My Calendar to ‘LIKE’ search query istead of ‘MATCH’