2008-10-15 79 views
3

我有nutch和lucene設置來抓取和索引一些網站,我想使用.net網站而不是nutch自帶的JSP網站。Java Lucene與.Net的集成

任何人都可以推薦一些解決方案嗎?

我見過有一個應用程序運行在.Net站點使用遠程連接的索引服務器上。

速度是一個明顯的考慮,所以這仍然可以執行良好?

編輯: NHibernate.Search可以爲此工作嗎?

編輯:我們結束了與我們的ASP.net網站使用的Solr索引服務器與solrnet庫。 SolrSharpSolrNet:不要使用Lucene的

回答

3

,你可以使用Solr索引使用Nutch(見here),那麼你可以很容易利用現有的兩個庫中的一個連接到Solr。

+0

看起來非常好,將它能夠把我的Lucene索引? – 2008-10-15 14:16:45

+0

還沒有嘗試過,但它應該...嘗試它是唯一的方法來確保:) – 2008-10-15 14:28:41

+0

我在看hadoop兼容性太 – 2008-10-15 16:50:09

0

我沒有使用Solr,而是編寫了一個基於java的索引器,它運行在一個cron作業中,還有一個基於java的web服務用於查詢。實際上,我沒有像.net網站用於構建頁面的不同類型的數據那樣對頁面進行索引。所以實際上有4個不同的索引,每個索引都有不同的文檔結構,都可以用相同的方式查詢(比如:用戶,帖子,消息,照片)。

通過爲Web服務響應定義一個XSD,我能夠在.net和java中生成類來存儲文檔的表示。 Web服務基本上在正確的索引上運行查詢,並從命中中填充響應xml。 .net客戶端將其解析回到對象中。還有一個用於任何客戶端JavaScript的json接口。

5

如果從其他答案中沒有完全清楚,Lucene.NET和Lucene(Java)使用相同的索引格式,所以您應該可以繼續使用您現有的(基於Java的)機制來編制索引,然後在你的.NET web應用裏面使用Lucene.NET到查詢這個索引。

the Lucene.NET incubator site

除了API和類 端口C#,Java的 的Lucene的算法移植到C#的Lucene。這 意味着用Java創建的索引 Lucene是來回兼容 與C#Lucene;在閱讀時, 寫作和更新。事實上一個Lucene索引 可以同時搜索和 使用Java Lucene的更新和C# Lucene的處理

1

我也在這方面的工作。

http://today.java.net/pub/a/today/2006/02/16/introduction-to-nutch-2.html

看來你可以提交你的查詢Nutch的,並得到了RSS結果返回。

編輯:

今天在windows窗體中作爲概念驗證得到了這個工作。兩個文本框(searchurl和查詢),一個用於服務器url,另一個用於查詢。一個datagrid視圖。

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"; 

    } 
0

爲什麼不從java lucene切換到dot net版本。當然這是一項投資,但主要是一種類替代鍛鍊。你需要的最後一件事是更多的層,除了僅僅是膠水以外,沒有任何價值。更少的膠水和更多的東西是你應該瞄準...

1

在這裏通過搜索SolrNet和SolrSharp之間的比較,只是想我會在這裏留下我的印象。

看起來好像SolarSharp是一個死了的項目(沒有更新很長時間),所以唯一的選擇是SolarNet。

我希望這會幫助別人,我會留下來接受的答案註釋,但我沒有足夠的聲譽還沒有:)