2016-08-09 7 views
0

値のために、私はLucene.net検索と私のハッシュテーブルを使用しています以下のようになります。私が欲しいものLucene.net検索のみを個別の列が

ID | Customer | Update 
1  | name1  | hello 
1  | name1  | hello again 
2  | name2  | how r u 
3  | name3  | hi 
3  | name3  | it is not working 

私は「ハロー」を検索したとき、私は結果リストは、個別の取得であり、 IDによって:

ID | Customer | Update 
1  | name1  | "hello" 

私はちょうどそれが検索したい(そのため、私はID 1の更新が結果になりますどの気にしない)結果にあるように更新列は必要ありません。私が必要とする唯一の結果はIDと顧客の名前です。私はMoreLINQからresult.DistinctBy(res => res.Id)を使ってこれを行うことができますが、IndexSearcherにはdictinct Id値のみを検索したいと思います。 LINQを結果に呼び出さずにこれを実現できる方法はありますか?おそらくサーチャー引数フィルターを使用していますか?

は内部の個別のLuceneを持つことのない方法は、(私の知っていること)はありませんあなたの助け

答えて

0

、ありがとうございました。

しかし、より効率的なアプローチがあります。

Linqメソッドは、本物のものにフィールドが多い場合には高価な行/オブジェクトを完全に投影する必要があることを意味します。

Luceneがidを投影するだけの順序でLuceneがドキュメントを返すようにクエリを並べ替えると、IDが前のIDと異なる場合、広告は残りのドキュメントのみを投影します。

これはカスタムメソッドですが、それはかなり正常です。

関連する問題