質問編集履歴
2
(蛇足ですが)追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
MroongaやGroongaは使用しておらず、
|
24
24
|
|
25
|
-
MeCabで形態素解析を行った日本語をINSERTしています。
|
25
|
+
MeCabで形態素解析を行った日本語をスペース区切りでINSERTしています。
|
26
26
|
|
27
27
|
(直接関係ない気がしますが、MeCabのバージョンは0.996です)
|
28
28
|
|
@@ -79,3 +79,39 @@
|
|
79
79
|
SELECT * FROM `foo` WHERE MATCH(`bar`) AGAINST ('????')
|
80
80
|
|
81
81
|
```
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
---
|
86
|
+
|
87
|
+
**<追記>**
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
「なんとなく思っただけ」レベルなのですが…
|
92
|
+
|
93
|
+
そういえば文字セットやバイト数に関係なく、記号類は同じくヒットしない状態なので、
|
94
|
+
|
95
|
+
4バイト文字もそのように扱われているのでは…とも思いました。
|
96
|
+
|
97
|
+
(これも環境など何か影響している可能性がありますが)
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
```sql
|
102
|
+
|
103
|
+
-- `foo`.`bar`に「☆」という値をもつレコードがあるとします
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
-- LIKE検索:ヒットする
|
108
|
+
|
109
|
+
SELECT * FROM `foo` WHERE `bar` LIKE '%☆%'
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
-- MATCH~AGAINST検索:ヒットしない
|
114
|
+
|
115
|
+
SELECT * FROM `foo` WHERE MATCH(`bar`) AGAINST ('+☆' IN BOOLEAN MODE)
|
116
|
+
|
117
|
+
```
|
1
タイトル・本文で言葉足らずだった点を追記 / 環境を追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
MySQL
|
1
|
+
MySQLの全文検索で、4バイトUTF-8文字がヒットしない
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
文字セットがutf8mb4のあるテーブルに対して
|
2
2
|
|
3
|
-
全文検索(MATCH~AGAINST~構文)を行いたいのですが、ヒットしてくれません。
|
3
|
+
全文検索(MATCH~AGAINST~構文)を行いたいのですが、4バイト文字がヒットしてくれません。
|
4
4
|
|
5
5
|
ヒットさせるにはどうすればよいでしょうか。
|
6
6
|
|
@@ -17,6 +17,16 @@
|
|
17
17
|
|
18
18
|
|
19
19
|
MySQLのバージョンは5.6.17です。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
MroongaやGroongaは使用しておらず、
|
24
|
+
|
25
|
+
MeCabで形態素解析を行った日本語をINSERTしています。
|
26
|
+
|
27
|
+
(直接関係ない気がしますが、MeCabのバージョンは0.996です)
|
28
|
+
|
29
|
+
|
20
30
|
|
21
31
|
|
22
32
|
|