Tasuku SUENAGA
a****@razil*****
2007年 2月 13日 (火) 16:09:28 JST
未来検索ブラジルの末永です。 現在、Windows版のSennaは、 プロセスをまたいで同じインデックスを共有することができません。 以下のような変更を行いたいなあ…とは思っているのですが、 Sennaの他の作業が詰まっていて、 着手することができないでおります。 io.cのsen_open/sen_mmap/sen_munmap/sen_closeの関数を ・現在ファイルマッピングオブジェクトは1ファイル1つになっている。 これをsen_mmapごとに1つ確保するようにする。 また、名前つきファイルマッピングオブジェクトを 無名ファイルマッピングオブジェクトにする。 ・sen_setなどを用いて、MapViewOfFileによるポインタと 上記ファイルマッピングオブジェクトとの関係を保存する。 ・保存した関係を用いて、sen_munmap時に UnmapViewOfFileと共に ファイルマッピングオブジェクトのハンドルを開放する ・インデックスサイズをLinux版と併せ、 またmmapの領域に合わせたファイルサイズとするように修正する (現在は固定サイズのファイルが作成されてしまいます) とりあえずは、 ファイルマッピングオブジェクトを無名化することによって インデックスの共有ができるようになるとは思います。 sakamoto wrote: > はじめまして、坂本といいます。 > > あるWindowsのパッケージで、全文検索を行うべく > 検討しており、Ludiaが最適と考えております。 > しかし、Ludiaは、まだWindows版をリリースしていないので、 > 何とか正式リリースしていただきたいと考えております。 > > こちらで、 > http://www.doblog.com/weblog/myblog/74336/25 > を参考に環境を作成し、 > (PostgreSQL 8.1.5、Ludia 0.9.0、Senna 0.8.2) > 評価した所、同時実行に問題のあることが分かりました。 > 例えば、参照系の同時実行を行うと、一方は正常終了 > しますが、他方が、 > ERROR: pgsenna2: index open failed (C:/Program > Files/PostgreSQL/8.1/data/base/10793/776193) > などのようなエラーになってしまいます。 > > この辺りは、Ludiaの問題というより、sennaのWindows対応に > 係る部分と思いますが、sennaの対応含めて、Ludiaの > Windows対応を何とか早急に行うことは出来ないでしょうか。 > > 勝手なお願いとは分かっておりますが、時期の面含めて、 > 検討いただきたいのですが。 --- Tasuku SUENAGA <a****@razil*****>