0

この質問は、正確なタイトルを検索するときに全文検索が機能しないことに関連しています

データベースを効率的に検索する方法を学ぼうとしていますが、最良の選択肢と思われる FULLTEXT 検索に出くわしました。まだ多くのデータを収集していないため、この時点ではテーブルはまだ小さいです。テーブルを検索するこのSQLコードがありました

SELECT * FROM table WHERE MATCH(title) AGAINST ('hamlet') LIMIT 30;

しかし、行が 1 つしかないため、何も返されませんでした。クエリが情報を返せるようにするための回避策は何ですか?

ありがとうございました

4

1 に答える 1

0

これが私がすることです:

SELECT title ,
MATCH(title) 
AGAINST ('hamlet' IN BOOLEAN MODE)
AS relevance 

FROM test 
WHERE  MATCH(title) 
AGAINST ('hamlet' IN BOOLEAN MODE) 

HAVING relevance > 0 ORDER BY relevance DESC

使用したテーブル:

CREATE TABLE IF NOT EXISTS `test` (
  `id` tinyint(4) NOT NULL,
  `title` varchar(255) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `name_2` (`title`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `test`
--

INSERT INTO `test` (`id`, `title`) VALUES
(2, 'hamlet');
于 2013-02-10T18:59:03.383 に答える