hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

全文検索インデックス公開

EBWin4の全文検索インデックスはとりあえずHP上でプレリリース。若干の最適化を施した版をVectorにアップ予定。
手元では、EBWin4で作成した全文検索インデックスファイルを、EBMac、EBPocket for iOS/Androidにコピーして動作するところまでは検証している。
EBMacはなるべくMac単独で辞書活用を完結できるようにしたい(学生とかでWindowsを持っていない人もいるかもしれない)ので、できれば全文検索インデックスの作成やユーザ辞書の作成もできるようにしたいが、Objective-Cが他の言語と結構違うので、UIを追加するのは、なかなか手間がかかって進まない。「EBWin4で作ったインデックスが使えます」というレベルでいったんリリースすると思う。

肝心の性能だが、数百件の一致なら一瞬だが、数千件レベルになると、初回の検索で数秒、2回目以降の検索では一瞬という挙動になる。C#がインタプリータだからかと思ったが、Objective-CMac版でも同じ挙動。SQLite3の特性か、今回多用しているSTLのせいかもしれない。常識的な高速化手法は色々試みたが、なかなかパフォーマンスが上げられない。ファイルIOの代わりにメモリマップドIOにしても駄目。N-gramSQLを使うのはやっぱり無謀かも。
もっとも広辞苑レベルなら実用上の問題は無い。Androidで1秒以内で全文検索の結果が帰ってくるのはちょっと感動する。

iPad mini Retina 売却

iOS8の検証用に整備品のiPad mini Retinaを購入したと報告したが、エミュレータである程度検証できること、iPad miniの使用頻度が低いこと、趣味で始めたカメラのレンズに投資したいこと等から、売却した。27000円で購入して26000円で売れたので、1000円で数ヶ月レンタルできたようなもの。iOSの実機はiPod touch 5thを残すだけになった。
Nexus 7も売却しようかと思ったが、Androidエミュレータの出来が悪くて実機が必要なので、とりあえず残している。