ぷろじぇくと、みすじら。

Hyper Estraier Binding for .NET Framework

Created at:

Hyper Estraierの.NET Framework向けネイティブバインディングです。ローカルノードのみでリモートノードの操作は対応していません。半年以上前に作っておきながら公開していなかったもの(めんどくさがり)。

ダウンロード: HyperEstraierBinding-20070830.zip / ソースコード(Subversion)

インターフェースはちょっとアレンジがあったりしますが、ほぼ他のバインディングと同じなので大体問題ないと思います。実は後からIDLがあることに気づいたりしたのでちょっと違うというのもあります……。

一応簡易的なサンプルは入れておきましたが、C#での使い方はこんな感じ。

using (Database db = new Database("estdb/_idx", DatabaseModes.Reader))
using (Condition cond = new Condition())
{
    cond.Phrase = "検索文字列";
    using (Result result = db.Search(cond, null))
    {
        for (Int32 i = 0; i < result.DocumentNumber; i++)
        {
            using (Document doc = db.GetDocument(result.GetDocumentId(i)))
            {
                Console.WriteLine("- {0}: {1}", doc.Id, doc.Attributes[SystemAttributeNames.Title]);
                Console.WriteLine("    {0}", doc.Attributes[SystemAttributeNames.URI]);
            }
        }
    }
}

なお、ネイティブバインディングなのでHyper Estraierの本体のDLLは参照できるところにおいておいてください(あるいはEnvironmentのあれでPATHに追加してしまう手もあります)。