質問
一部のサイトをクロールしてインデックスを作成するためのnutchとluceneのセットアップがあります。nutchに付属するJSPサイトの代わりに.net Webサイトを使用したいです。
誰かがいくつかのソリューションを推奨できますか?
.Netサイトが接続にリモート処理を使用したインデックスサーバーで実行されているアプリがあるソリューションを見てきました。
速度は明らかに考慮事項ですので、これはまだうまく機能しますか?
編集: NHibernate.Searchはこれに対して機能しますか?
編集:最終的に、ASP.netサイトで solrnet ライブラリ。
他のヒント
他の回答から完全に明確でない場合、Lucene.NETとLucene(Java)は同じインデックス形式を使用するため、に対して既存の(Javaベースの)メカニズムを引き続き使用できるはずです。インデックスを作成してから、.NET Webアプリケーション内でLucene.NETを使用して、インデックスをクエリします。
APIおよびクラスに加えて JavaのアルゴリズムであるC#への移植 LuceneはC#Luceneに移植されています。この Javaで作成されたインデックスを意味します Luceneは互換性があります C#Luceneを使用。両方読んで、 書き込みと更新。実際、 Lucene インデックスを同時に検索でき、 Java LuceneとC#を使用して更新 Luceneプロセス
私もこれに取り組んでいます。
http:/ /today.java.net/pub/a/today/2006/02/16/introduction-to-nutch-2.html
nutchにクエリを送信して、rssの結果を取得できるようです。
編集:
今日、これを概念実証としてWindowsフォームで使用します。 2つのテキストボックス(searchurlとquery)、1つはサーバーURL用、もう1つはクエリ用です。 1つのデータグリッドビュー。
private void Form1_Load(object sender, EventArgs e)
{
searchurl.Text = "http://localhost:8080/opensearch?query=";
}
private void search_Click(object sender, EventArgs e)
{
string uri;
uri = searchurl.Text.ToString() + query.Text.ToString();
Console.WriteLine(uri);
XmlDocument myXMLDocument = new XmlDocument();
myXMLDocument.Load(uri);
DataSet ds = new DataSet();
ds.ReadXml(new XmlNodeReader(myXMLDocument));
SearchResultsGridView1.DataSource = ds;
SearchResultsGridView1.DataMember = "item";
}
ここで、SolrNetとSolrSharpの比較を検索して、ここに私の印象を残したいと思いました。
SolarSharpは古いプロジェクト(長い間更新されていなかった)のようであるため、唯一のオプションはSolarNetです。
これが誰かの助けになることを願っています。受け入れられた答えにコメントを残したでしょうが、まだ十分な評判がありません:)
Solrを使用する代わりに、cronジョブで実行されるJavaベースのインデクサーと、クエリ用のJavaベースのWebサービスを作成しました。 .netサイトがページを構築するために使用するさまざまな種類のデータほど、実際にはページのインデックスを作成しませんでした。そのため、実際には4つの異なるインデックスがあり、それぞれに異なるドキュメント構造があり、ほぼ同じ方法でクエリできます(たとえば、ユーザー、投稿、メッセージ、写真)。
WebサービスレスポンスのXSDを定義することで、ドキュメントの表現を格納するために.netとjavaの両方のクラスを生成することができました。 Webサービスは基本的に正しいインデックスでクエリを実行し、ヒットから応答xmlに記入します。 .netクライアントはそれを解析してオブジェクトに戻します。クライアント側のJavaScript用のjsonインターフェイスもあります。
java luceneからドットネットバージョンに切り替えない理由。確かにそれは投資ですが、それは主にクラス置換演習です。最後に必要なのは、単なる接着剤以外の価値を追加しないレイヤーです。接着剤を少なくし、より多くのものを目指してください...