0

アプリケーションでクイック検索を作成したいと思います。

私がクラスを持っているとしましょう:

public class Venue
{
    public virtual string LongName { get; set; }
    public virtual string ShortName { get; set; }
    public virtual string Market { get; set; }
    public virtual int ClientEmail { get; set; }
}

そして、この(および他の)オブジェクトのセットにインデックスを付けたいと思います。

ユーザーがテキストボックスにデータを入力し、「メモリ内インデックス」がその文字列を受け入れ、1つ以上のプロパティに検索された値を含むすべてのオブジェクトを返すという考え。

そのようなことのために.NETにすぐに使えるソリューションはありますか?または図書館、または何ですか?

ありがとう

4

2 に答える 2

2

すぐに使えるソリューションはわかりませんが、手動で行います。

string input = "whatever";
IEnumerable<Venue> matches = allVenues.Where(v => v.LongName.Contains(input)
                               ||  v.ShortName.Contains(input)
                               ||  v.Market.Contains(input)
                               ||  v.ClientEmail.ToString().Contains(input));

多分それは十分に速いです。利点は、追加のリソースが必要ないことです。

于 2012-10-23T09:44:20.677 に答える
0

比較的クールな方法でデータを保存したい場合は、 Lucene.NetまたはRavenDBドキュメントデータベースを確認してください。これは、Lucene.Netに基づいています。RavenDBはLINQドライバーを実装しているため、コレクション全体でLINQクエリを使用して、それらを動的にフェッチできます。インデックス作成がサポートされているため、計算で非常に高いパフォーマンスを実現できます。

于 2012-10-23T09:45:31.673 に答える