質問

一部のサイトをクロールしてインデックスを作成するためのnutchとluceneのセットアップがあります。nutchに付属するJSPサイトの代わりに.net Webサイトを使用したいです。

誰かがいくつかのソリューションを推奨できますか?

.Netサイトが接続にリモート処理を使用したインデックスサーバーで実行されているアプリがあるソリューションを見てきました。

速度は明らかに考慮事項ですので、これはまだうまく機能しますか?

編集: NHibernate.Searchはこれに対して機能しますか?

編集:最終的に、ASP.netサイトで solrnet ライブラリ。

役に立ちましたか?

解決

Luceneを使用する代わりに、 Solr を使用して、nutchでインデックスを作成できます(こちら)、Solrに簡単に接続できます。利用可能な2つのライブラリのいずれかを使用します: SolrSharp および SolrNet

他のヒント

他の回答から完全に明確でない場合、Lucene.NETとLucene(Java)は同じインデックス形式を使用するため、に対して既存の(Javaベースの)メカニズムを引き続き使用できるはずです。インデックスを作成してから、.NET Webアプリケーション内でLucene.NETを使用して、インデックスをクエリします。

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からドットネットバージョンに切り替えない理由。確かにそれは投資ですが、それは主にクラス置換演習です。最後に必要なのは、単なる接着剤以外の価値を追加しないレイヤーです。接着剤を少なくし、より多くのものを目指してください...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top