גם אם משתמשים במסד נתונים צריך להשתמש בו בחכמה..
זה לא הולך שמחפשים בתוך שדה TEXT רגיל.
אני מביא פה מבנה של החיפוש של הפרום הזה.
CREATE TABLE IF NOT EXISTS `phpbb_search_wordlist` (
`word_id` mediumint(8) unsigned NOT NULL,
`word_text` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`word_common` tinyint(1) unsigned NOT NULL DEFAULT '0',
`word_count` mediumint(8) unsigned NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
ALTER TABLE `phpbb_search_wordlist`
ADD PRIMARY KEY (`word_id`),
ADD UNIQUE KEY `wrd_txt` (`word_text`),
ADD KEY `wrd_cnt` (`word_count`);
ALTER TABLE `phpbb_search_wordlist`
MODIFY `word_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT;
CREATE TABLE IF NOT EXISTS `phpbb_search_wordmatch` (
`post_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`word_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`title_match` tinyint(1) unsigned NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
ALTER TABLE `phpbb_search_wordmatch`
ADD UNIQUE KEY `unq_mtch` (`word_id`,`post_id`,`title_match`),
ADD KEY `word_id` (`word_id`),
ADD KEY `post_id` (`post_id`);
פורסם במקור בפורום CODE613 ב29/06/2016 13:35 (+03:00)