簡體   English   中英

Java Lucene與.Net集成

[英]Java Lucene integration with .Net

我有nutch和lucene設置來抓取和索引一些網站,我想使用.net網站而不是nutch附帶的JSP網站。

誰能推薦一些解決方案?

我已經看到了解決方案,其中有一個應用程序在索引服務器上運行,.Net站點使用遠程連接。

速度是一個明顯的考慮因素,所以這仍然表現良好嗎?

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

編輯:我們最終使用Solr索引服務器,我們的ASP.net站點使用solrnet庫。

如果從其他答案中不完全清楚,Lucene.NET和Lucene(Java)使用相同的索引格式,因此您應該能夠繼續使用現有的(基於Java的)機制進行索引 ,然后使用Lucene .NET Web應用程序中的.NET用於查詢索引。

來自Lucene.NET孵化器網站

除了端口到C#的API和類之外,Java Lucene的算法還移植到C#Lucene。 這意味着使用Java Lucene創建的索引與C#Lucene 來回兼容 ; 閱讀,寫作和更新。 實際上, 可以使用Java Lucene和C#Lucene進程同時搜索和更新Lucene索引

您可以使用Solr來索引nutch(參見此處 ),而不是使用Lucene,然后您可以使用兩個可用庫之一( SolrSharpSolrNet)輕松連接到Solr。

通過搜索SolrNet和SolrSharp之間的比較來到這里,我想我會留下我的印象。

似乎SolarSharp是一個死的項目(很長時間沒有更新)所以唯一的選擇是SolarNet。

我希望這會對某人有所幫助,我會對接受的答案發表評論,但我還沒有足夠的聲譽:)

我也正在研究這個問題。

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

您似乎可以將您的查詢提交給nutch並獲取rss結果。

編輯:

今天在Windows窗體中使用它作為概念證明。 兩個文本框(searchurl和query),一個用於服務器URL,另一個用於查詢。 一個數據網格視圖。

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

    }

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

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

為什么不從java lucene切換到dot net版本。 當然這是一項投資,但它主要是一種階級替代活動。 你需要的最后一件事是更多的層,除了粘合之外不會增加任何價值。 更少的膠水和更多的東西是你應該瞄准的...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM