我有nutchne设置来抓取并索引某些网站,我想使用.net网站而不是nutch附带的JSP网站。

有人可以推荐一些解决方案吗?

我见过一些解决方案,其中有一个应用程序在索引服务器上运行,.Net站点使用远程连接来连接。

速度是一个明显的考虑因素,所以它仍能表现良好吗?

编辑: NHibernate.Search可以为此工作吗?

编辑我们最终选择了我们的ASP.net网站使用的Solr索引服务器 solrnet 库。

有帮助吗?

解决方案

您可以使用 Solr 代替使用Lucene来索引nutch(参见这里),那么你可以很容易地连接到Solr使用以下两个库中的一个: SolrSharp SolrNet

其他提示

如果从其他答案中不完全清楚,Lucene.NET和Lucene(Java)使用相同的索引格式,因此您应该能够继续使用现有的(基于Java的)机制索引,然后在.NET Web应用程序中使用Lucene.NET来查询索引。

来自 Lucene.NET孵化器网站

  

除了API和类   端口到C#,Java的算法   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窗体中使用它作为概念证明。两个文本框(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";

    }

通过搜索SolrNet和SolrSharp之间的比较来到这里,我想我会留下我的印象。

似乎SolarSharp是一个死机项目(很长时间没有更新)所以唯一的选择就是SolarNet。

我希望这会对某人有所帮助,我会对接受的答案发表评论,但我还没有足够的声誉:)

我没有使用Solr,而是编写了一个基于java的索引器,它运行在一个cron作业中,一个基于java的Web服务用于查询。实际上,我没有将.net网站用来构建页面的不同类型的数据编入索引。所以实际上有4个不同的索引,每个索引都有不同的文档结构,可以用大致相同的方式查询(例如:用户,帖子,消息,照片)。

通过为Web服务响应定义XSD,我能够在.net和java中生成类来存储文档的表示。 Web服务基本上在右侧索引上运行查询,并从命中填充响应xml。 .net客户端将其解析回对象。任何客户端JavaScript都有一个json接口。

为什么不从java lucene切换到dot net版本。当然这是一项投资,但它主要是一种阶级替代活动。你需要的最后一件事是更多的层,除了粘合之外不会增加任何价值。你应该瞄准更少的胶水和更多的东西......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top