質問編集履歴

1

見づらかったので改行を調整しました

2016/02/24 01:20

投稿

takushi168
takushi168

スコア228

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,8 @@
40
40
 
41
41
  何らかの条件である程度絞ってSELECTするという妥協もあり
42
42
 
43
+
44
+
43
45
  ②完全一致でSELECT、8文字程度の前方一致でSELECT…と
44
46
 
45
47
  少しずつ条件を緩和しつつ何度かSELECTし、10件以上抽出できた時点で終了
@@ -48,11 +50,15 @@
48
50
 
49
51
  遅い複雑なSQLよりはマシかもしれない…
50
52
 
53
+
54
+
51
55
  ③MySQLのストアドプロシージャでPHPのlevenstein関数のようなものを作る
52
56
 
53
57
  →他の方が試していたので実は詳細を把握していないのですが、
54
58
 
55
59
  1万件から検索するのに15秒ほどかかっていました。
60
+
61
+
56
62
 
57
63
  ④abcd→「a ab bc cd d」のように分割した文字列を格納するフィールドを別途用意して
58
64
 
@@ -63,6 +69,8 @@
63
69
  (50%以上のレコードに含まれている単語は無視される)
64
70
 
65
71
  MySQLのソースを書き換えれば動くようだが、同じサーバで稼働中のサイトもあり、極力避けたい
72
+
73
+
66
74
 
67
75
  ⑤2文字程度までの不一致は許可するとして、検索する文字列が「abcdefghij」とすると、
68
76