2017-07-08 12 views
0

私のCシャープアプリケーションでLucene.netを3.0.3から4.8.0-beta0004にアップグレードし、Lucene.net.analysisの最新バージョンもインストールしました.commonとLucene.net.queries私のコードでLuceneへのアップグレード時の問題.net 4.8.0-beta0004

いくつかの行がエラーを投げている:

エラー1 :) アナライザstandAnalyzer =新しいStandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30を)。

エラー:型または名前空間の名前 "StandardAnalyzer"が見つかりませんでした。

エラー2) Lucene.Net.QueryParsers.QueryParserパーサー=新しいLucene.Net.QueryParsers.QueryParser(Lucene.Net.Util.Version.LUCENE_30、 "コンテンツ"、standAnalyzer)。

エラーがある:型または名前空間名 "QueryParsersは、" 名前空間 'Lucene.Net'

エラー3) Lucene.Net.Search.Searcher SCHR =新しいLucene.Netに存在しません。 Search.IndexSearcher(Lucene.Net.Index.IndexReader.Open(directory、true));

エラーがある:型または名前空間名「サーチャー」名前空間に存在しません「Lucene.Net.Search」

私は自分のコードに次のnamaspaceを使用しています:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using Lucene.Net.Analysis; 
using Lucene.Net.Index; 
using Lucene.Net.Search; 
using Lucene.Net.Search.Spans; 

助けてもらえますか?ありがとう

答えて

1

Luceneのプロジェクト構造が3.xから4.xに大幅に変更され、10倍以上にサイズが大きくなりました。その結果、多くのクラスが同じ名前空間になくなりました以前は

  1. StandardAnalyzer - using Lucene.Net.Analysis.Standardを追加します。
  2. QueryParser - using Lucene.Net.QueryParsers.Classicを追加します。他の多くのタイプのQueryParserが利用できるようになりました。
  3. IndexSearcher - 抽象的なSearcherベースクラスは存在しません。あなたは、プロジェクトの構造がどのように変化したかを確認するためにLucene 4.8.0 API doucmentation (in Java)を表示することができ、今後の参考のためにvar schr = new Lucene.Net.Search.IndexSearcher(Lucene.Net.Index.IndexReader.Open(directory, true));

:この問題を解決する最も簡単な方法のような行を変更することです。 Lucene.Netはこの構造に非常によく従っていました。

また、Visual Studio 2015以降では、クラス名に基づいてusingステートメントを自動的に追加することができる優れた機能があります。下線が引かれているタイプの上にマウスを置くだけで、小さな電球のドロップダウンをクリックするだけです。

enter image description here

+0

あなたの回答は非常に役に立ちます。ありがとう。 – Ben

関連する問題