質問編集履歴
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,9 +17,9 @@
|
|
17
17
|
|
18
18
|
##追記。具体的なデータと検索結果。
|
19
19
|
実際にsampleテーブルのidx_dataのカラムに入っているデータが下記です。
|
20
|
-
|
20
|
+
|
21
21
|
日本 国内産 モデル
|
22
|
-
|
22
|
+
|
23
23
|
・{}をつけない場合。
|
24
24
|
```SQL
|
25
25
|
select * from sample where contains(idx_data,'日本') > 0; → ヒットする。
|
1
具体的なデータの追記。
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,4 +13,28 @@
|
|
13
13
|
##試したこと。
|
14
14
|
調べたら、中カッコをつけると、予約語をエスケープするということはわかりました。
|
15
15
|
しかし、今回の例では「文字列1 文字列2 文字列3」に予約語や記号は一切使ってません。
|
16
|
-
文字列1~文字列3は日本語の漢字と全角のカタカナのみです。
|
16
|
+
文字列1~文字列3は日本語の漢字と全角のカタカナのみです。
|
17
|
+
|
18
|
+
##追記。具体的なデータと検索結果。
|
19
|
+
実際にsampleテーブルのidx_dataのカラムに入っているデータが下記です。
|
20
|
+
--------------------
|
21
|
+
日本 国内産 モデル
|
22
|
+
--------------------
|
23
|
+
・{}をつけない場合。
|
24
|
+
```SQL
|
25
|
+
select * from sample where contains(idx_data,'日本') > 0; → ヒットする。
|
26
|
+
select * from sample where contains(idx_data,'国内産') > 0; → ヒットする。
|
27
|
+
select * from sample where contains(idx_data,'モデル') > 0; → ヒットする。
|
28
|
+
select * from sample where contains(idx_data,'日本 国内産') > 0; → ヒットしない。
|
29
|
+
select * from sample where contains(idx_data,'国内産 モデル') > 0; → ヒットする。
|
30
|
+
select * from sample where contains(idx_data,'日本 国内産 モデル') > 0; → ヒットしない。
|
31
|
+
```
|
32
|
+
・{}をつけた場合。
|
33
|
+
```SQL
|
34
|
+
select * from sample where contains(idx_data,'{日本}') > 0; → ヒットする。
|
35
|
+
select * from sample where contains(idx_data,'{国内産}') > 0; → ヒットする。
|
36
|
+
select * from sample where contains(idx_data,'{モデル}') > 0; → ヒットする。
|
37
|
+
select * from sample where contains(idx_data,'{日本 国内産}') > 0; → ヒットする。
|
38
|
+
select * from sample where contains(idx_data,'{国内産 モデル}') > 0; → ヒットする。
|
39
|
+
select * from sample where contains(idx_data,'{日本 国内産 モデル}') > 0; → ヒットする。
|
40
|
+
```
|