generated at
scrapboxのリンクサジェスト、とても速くないか?
/shokai/QuickSearchの情報を参考に/takker/external-completionの検索機能を作っているけど、速さが全然追いついていない
裏でいろんな最適化を施しているのかなあtakker
単に自分のprogramming skillがガバなだけでは

リンクサジェストでは文字単位の歯抜けマッチングは行なわれてないと思う
scrpboxはScrapboxにマッチするけどscrboxだとダメ
いや、jscrがJavaScriptにマッチしたりするしよく分からない……
二文字誤りはマッチしない、ということでもなさそうですね……
/takker/fizzSearchで使っているASearchを部分一致にも使えるように修正したいのですが、方法がわからない……
現状だと、jabascriptはJavaScriptにマッチするけど、
javaはJavaScriptにマッチしない
new Asearch(' ' + word + ' ') という感じで前後にスペースを入れると良さそうkokutousha
スペースの部分は何にでもマッチする
new Asearch(' java ').match('javascript') // => true
new Asearch(' jscr ').match('前後にJavaScript文字を入れてみたり', 1) // => true
まじかよtakker
今すぐ試す!
15:40:44 できた
歯抜けマッチングを除いた分、多少速くなったかもしれない
テスト: scrapbox
passscrp
一文字脱字
部分一致
passscrpbox
一文字脱字
完全一致
passscrbox
二文字脱字
完全一致
failscrbx
二文字脱字+間飛ばして一文字脱字
passscrx
三文字脱字
passscr bx
二文字脱字+間飛ばして一文字脱字
スペース区切り
passbx scr
順序が逆

性能には関係ないかもしれませんが、flatMap相当の処理をmap.reduceで書いてるのも気になる
flatmap の存在を知らなかった……takker
早速書き換えました

ご存知かもしれないですが、/shokai眺めてたら面白いページを見付けたので
そうそう、これを参考にしてWebWorker処理を実装しましたtakker
/shokai/async-singletonだけ使い方がいまいちよくわからなかったので、別のalgorithmで実装しました