我们目前正在制作SQL Server 2005,我们使用它的全文搜索来搜索一百万个产品数据库的电子商务网站。我尽可能地优化了它(我想),我们仍然看到搜索时间为5秒。
(我们不需要网站抓取或PDF(等)文档索引功能......只需“Google”网站搜索速度。)
我打算购买dtSearch,但现在我意识到我可以使用Lucene.net并为两个服务器许可保存2,500美元。
我在帖子中读到Lucene.Net不适合网站搜索。
还有其他人使用过ASP.Net的Lucene.Net吗?这需要大量的记忆吗?
有什么问题吗?
有任何意见吗?
答案 0 :(得分:1)
我们已经使用Lucene多年了,它对我们来说非常好用。我们的数据库有> 1M条目和Lucene查询在几毫秒内返回。
对于我们来说,我们有一个轻微的缺点,即可以随时将新条目添加到数据库中,并且在索引和查询之间切换可能相对较慢(因此更新索引后的第一次搜索可能需要400毫秒而不是通常5ms)。但对于可以进行批量更新的产品网站,您应该是金色的。
Lucene的另一个缺点是索引文件一次只能由一个进程访问。如果您有多个Web服务器,则意味着您需要在单独的进程中运行Lucene。对我们来说,我们只是在我们的数据库集群上运行一个服务(因此,如果一个服务器出现故障,它会进行故障转移),我们的Web服务器通过一个简单的套接字接口连接到该服务进行查询。
答案 1 :(得分:1)
另一个选项是Solr,它基于Lucene,所以它也非常快,但更容易设置和使用,但它作为一个单独的Java进程运行。