繁体   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