什么是使用Lucene.Net的最佳做法? 或者我在哪里可以find一个很好的lucene.net使用示例?
Dim qp1 As New QueryParser("filename", New StandardAnalyzer()) Dim qp2 As New QueryParser("filetext", New StandardAnalyzer()) . . 我正在使用“Lucene.Net”库,并有以下问题。 而不是创build两个单独的QueryParser对象,并使用它们来获取两个Hits对象,是否可以使用单个QueryParser对象在两个字段上执行search,以便我只有一个Hits对象,它可以给我每个Document的总体分数?
我知道过去有一些关于SQL 2005和Lucene.NET的问题,但是自从2008年出来以后,他们做了很多的改变,想知道是否有人可以给我优点/缺点(或者链接到一篇文章)。
我正试图决定一个.Net项目的开源search/索引技术。 似乎Java项目的标准是Lucene,但就.Net而言,Lucene.Net项目似乎相当不活跃。 这仍然是最好的select吗? 或者还有其他可行的select吗?
我们需要将search引擎集成到我们的产品目录pipe理软件中。 目录预计有4-5百万。 关系数据logging遍布多个表格。 我们的开发平台是Asp.Net 3.5,我们已经在Lucene上做了一些前期的工作,发现它很好。 然而,我们刚刚了解到Solr,并且正在寻找一些实用的技巧来比较Lucene和Solr的实现,时间线,定期维护,性能,function的angular度。 任何指导或指针都会非常有帮助。 谢谢。
我读了如何将QueryParser中的多个字段? 但我没有得到它。 目前我有一个非常奇怪的build筑,如: parser = New QueryParser("bodytext", analyzer) parser2 = New QueryParser("title", analyzer) query = parser.Parse(strSuchbegriff) query2 = parser.Parse(strSuchbegriff) 我能做些什么,如: parser = New QuerParser ("bodytext" , "title",analyzer) query =parser.Parse(strSuchbegriff) 所以parsing器在字段“标题”中查找字段“bodytext”中的search词。
我已经在Meta Stack Overflow上提出了一个类似的问题 ,但是具体涉及到Lucene.NET是否在Stack Overflow上使用。 这里的问题的目的更多的是一个假设,至于如果他们使用Lucene.NET作为站点内search的基础和像 Stack Overflow 这样的站点中的其他因素,会采取什么样的方法。 根据堆栈溢出博客标题为“ SQL 2008全文search问题 ”的条目,有一个强烈的迹象表明,Lucene.NET正在考虑在某些时候,但似乎并非如此,根据评论2010年2月19日Geoff Dalgas : Lucene.NET没有被用于堆栈溢出 – 我们正在使用SQL Server全文索引。 search是我们继续做小调整的一个领域。 所以我的问题是,如何将Lucene.NET用于具有Stack Overflow相同语义的站点? 这里有一些背景,以及我到目前为止所做的/想过的事情(是的,我一直在实施这个大部分,search是我必须完成的最后一个方面): 技术: ASP.NET MVC SQL Server 2008 .NET 3.5 C#3.0 当然,Lucene.NET也是这个节目的明星。 目的也是转移到.NET / C#4.0 ASAP。 虽然我不认为这是改变游戏规则,但应该指出。 在进入Lucene.NET的各个方面之前,指出它的SQL Server 2008方面以及所涉及的模型是很重要的。 楷模 与堆栈溢出相比,该系统具有多个主模型types。 这些模型的一些例子是: 问题:这是人们可以问的问题。 人们可以回答问题,就像堆栈溢出一样。 注:这些是单向的预测,所以相对于一个问题,你正在对内容做出声明。 人们不能回复这个。 事件:这是关于实时事件的数据。 它有位置信息,date/时间信息。 关于这些模型的重要事项要注意: 它们都具有名称/标题(文本)属性和正文(HTML)属性(这些格式是不相关的,因为内容将被适当分析以进行分析)。 每个模型的实例在网站上都有一个唯一的URL 然后有堆栈溢出提供哪些IMO,是装饰模型的东西。 这些装饰器可以具有不同的基数,可以是一对一或一对多的: […]
我正在构build一个ASP.NET MVC网站,我正在使用Lucene.Net进行search查询。 我在这里提出了一个关于如何在ASP.NET MVC应用程序中正确地构造Lucene.Net的用法的问题 ,并被告知最好的方法是将我的IndexWriter声明为public static ,以便它可以被重用。 以下是我的SearchController顶部的一些代码: public static string IndexLocation = Server.MapPath("~/lucene"); public static Lucene.Net.Analysis.Standard.StandardAnalyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(); public static IndexWriter writer = new IndexWriter(IndexLocation,analyzer); 由于writer是静态的, IndexLocation也必须是静态的。 因此,编译器给我以下错误Server.MapPath() : 对象引用对于非静态字段,方法或属性“System.Web.Mvc.Controller.Server.get” 有没有一种方法使用Server.MapPath()或类似的静态字段 ? 我该如何解决这个错误? 提前致谢。
有没有人使用Lucene.NET而不是使用SQL Server自带的全文search? 如果是的话,我会对你如何实现它感兴趣。 你有没有例如写一个Windows服务,每小时查询数据库,然后将结果保存到lucene.net索引?