用于网站的开源LINQ搜索引擎

时间:2010-04-22 18:11:29

标签: asp.net linq search full-text-search search-engine

我想在我的网站上添加搜索引擎。我希望它处理布尔搜索,并按顺序或最佳匹配给我一个结果列表。我需要它能够使用LINQ,因为我想在运行的最终查询中添加额外的where子句。我正在寻找与LINQ一起使用的最佳开源.NET搜索引擎。我喜欢lucene.net,但问题是LINQ接口(LINQ to Lucene)自2008年以来还没有更新过。那里有什么好的选择吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用Microsoft提供的免费Search Server Express。它可以在beta for the 2010 version中找到,但很快就会发布。 (SharePoint)搜索API与SQL非常相似,因此您可以附加其他where子句。

它不是linq或开源,但它是免费的,可能适用于你的情况。我自己看了一下lucene linq api,得出了相同的结论。它没有更新,而Lucene仍在继续工作。

另一个选择是创建自己的Lucene Linq提供程序,但这需要一些工作。

FullTextSqlQuery课程的文档。 (样本为here的旧版文档)

这是一个代码片段,用于显示它的外观:

FullTextSqlQuery fullTextSqlQuery = new FullTextSqlQuery(site)
fullTextSqlQuery.QueryText = String.Format("SELECT Title, SiteName, Path FROM Scope() WHERE \"scope\"='All Sites' AND CONTAINS('\"{0}\"')", searchPhrase),

并且您可以将更多内容附加到查询的WHERE部分。

答案 1 :(得分:0)

我决定使用sql server的全文索引功能。它不像lucene.net那样功能齐全,但根据我的要求,它可以很好地完成工作。