質問編集履歴

2

(蛇足ですが)追記しました

2016/09/20 07:59

投稿

takushi168
takushi168

スコア228

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

タイトル・本文で言葉足らずだった点を追記 / 環境を追記

2016/09/20 07:59

投稿

takushi168
takushi168

スコア228

test CHANGED
@@ -1 +1 @@
1
- MySQLにて、utf8mb4の全文検索ができない
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