5

大規模なデータ セットを検索する必要がある .NET デスクトップ アプリケーションを使用しています。各データ セットには、10 個のフィールドを含む約 100000 項目があります。フィールドのタイプは、string、datetime、int、float、およびカスタム項目タイプです。約 5 つの同時データ セットが存在する可能性がありますが、検索は 1 つのデータ セット内でのみ行われます。

検索タイプは、

  • ワイルドカードをサポートするフルテキスト
  • 特定のフィールドを検索
  • 日付範囲

私は次の代替案を考えています:

  1. ルセン.NET. しかし、移植と保守には多大な労力がかかるように思われるため、Solr がサーバーのニーズを満たしているため、Lucene.NET の将来について懸念を抱いています。Lucene.NET の将来性についてどう思いますか?
  2. デスクトップで Solr を別のプロセスとして使用します。
  3. Lucene ベースのソリューションに代わるものはありますか?
  4. 自分で作成します。リファレンスやチュートリアルはありますか? 良い点は、洗練されたテキスト分析やスコアリング/ファセット機能が必要ないことです。用語 (オプションのワイルドカード) を検索するだけで、アイテムのリストが返されます。
4

2 に答える 2

5

Solr (4.1) とSolrNetを使用します。ソースから最新の SolrNet をコンパイルして、Solr 4+ に接続できるようにする必要があります (非常に簡単です)。

10 個のフィールドを持つ 100,000 個のドキュメントは、Solr を使用して汗をかくことなくパーソナル コンピューターでプロトタイプを作成できるものです。

最も難しい部分は「カスタム」アイテムです。それらを何として検索したいかを把握し、Solr が認識できる形式の 1 つに変換する必要があります。

その他の点について:

1) Lucene.Net は可能な限り最新のものより遅れており、Solr との統合は .Net から非常に簡単です

3) 私は、Lucene/Solr/ElasticSearch がオープンソース空間をリードしており、プロプライエタリ ソリューションを殺しているとさえ思います。

4) やめてください!やめてください。次から次へと機能を追加したくなるでしょう (ジオ?)。

于 2013-02-21T02:31:03.420 に答える
2

私は最近、IKVM経由で Lucene を直接使用しているように見えるFlexSearchという会社を発見しました。http://github.com/flexsearch/flexluceneでビルド スクリプトをオープンソース化しており、最新の NuGet パッケージが公開されています。

私はちょうど今、Lucene.NET から FlexLucene への移行の過程にいますが、これまでのところ簡単に見え、最新の状態を保っているように見えます。

于 2015-10-30T22:49:37.267 に答える