1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
DROP TABLE IF EXISTS diaries;
FLUSH STATUS;
SET NAMES UTF8;
CREATE TABLE diaries (
id INT UNSIGNED NOT NULL,
year INT UNSIGNED,
month INT UNSIGNED,
day INT UNSIGNED,
title VARCHAR(255),
content TEXT,
FULLTEXT INDEX(content),
KEY(month),
KEY(day)
) DEFAULT CHARSET UTF8;
SHOW CREATE TABLE diaries;
Table Create Table
diaries CREATE TABLE `diaries` (
`id` int(10) unsigned NOT NULL,
`year` int(10) unsigned DEFAULT NULL,
`month` int(10) unsigned DEFAULT NULL,
`day` int(10) unsigned DEFAULT NULL,
`title` varchar(255) DEFAULT NULL,
`content` text DEFAULT NULL,
KEY `month` (`month`),
KEY `day` (`day`),
FULLTEXT KEY `content` (`content`)
) ENGINE=Mroonga DEFAULT CHARSET=utf8
INSERT INTO diaries VALUES(1, 2011, 11, 9, "Hello", "今日からはじめました。");
INSERT INTO diaries VALUES(2, 2011, 11, 10, "天気", "明日の富士山の天気について");
INSERT INTO diaries VALUES(3, 2011, 11, 11, "富士山", "今日も天気がよくてきれいに見える。");
INSERT INTO diaries VALUES(4, 2011, 11, 12, "帰り道", "今日は天気がよくてよかった。");
INSERT INTO diaries VALUES(5, 2011, 11, 13, "はれ", "天気がよいのは今日までみたい。");
INSERT INTO diaries VALUES(6, 2011, 12, 1, "久しぶり", "天気が悪いからずっと留守番。");
INSERT INTO diaries VALUES(7, 2011, 12, 2, "初雪", "今日の天気は雪!");
SELECT * FROM diaries
WHERE MATCH(content) AGAINST("今日" IN BOOLEAN MODE)
ORDER BY MATCH(content) AGAINST("今日" IN BOOLEAN MODE)
LIMIT 1;
id year month day title content
1 2011 11 9 Hello 今日からはじめました。
SHOW STATUS LIKE 'mroonga_fast_order_limit';
Variable_name Value
Mroonga_fast_order_limit 1
DROP TABLE diaries;
|