在 MVC/Azure 中搜索"like"的最佳部署是什么



我在Azure上使用MVC3,我喜欢类似的搜索,例如。http://msdn.microsoft.com/en-us/library/ms179859.aspx

第一个问题:Lucene支持"赞"搜索吗,我试着在谷歌上问这个问题,但很难在搜索"赞"这个词时不得到结果,比如:我喜欢使用Lucene:)

第二:使用SQL Azure进行"赞"搜索时,我可以获得什么样的性能,只有id(int)作为关键字,文本(string(100))用于"赞"的搜索,行数约为1000万。我试过了似乎都做不出来,总是超时。或者你可以回答这个问题:我知道有一种方法可以改进SQL Azure中的"赞"搜索

第三个问题:是否有其他与Azure平台配合良好的产品可以支持具有合理性能的"赞"搜索(以上示例数据库不到2秒)

谢谢。

SQL Azure不支持全文索引,因此"LIKE"仅限于ANSI SQL运算符。这完全不足以进行一般搜索。一般来说,从可伸缩性的角度来看,在云(Azure)上,你无论如何都希望避免使用SQL进行搜索,这是错误的。

正如您所建议的,基于lucene的搜索引擎是可行的,但我建议使用Solr(Apache/Java lucene服务器)。Solr仍然可以托管在Azure中,你会发现更多的社区支持、文档和帮助。

Lucene确实支持LIKE搜索,并且有一个专门针对Lucene.NET的库,它利用Azure Storage来创建Lucene索引。这允许您提供一个容错的Lucene索引,该索引将在云中很好地扩展。

http://code.msdn.microsoft.com/windowsazure/Azure-Library-for-83562538

Solr是一个不错的选择,但除非您将Solr扩展到自己在Azure存储上运行,否则您必须自己管理索引的存储。

您可能需要研究在Azure上实现Solr。这里有一篇关于演示和教程的好文章:

http://wiki.apache.org/solr/SolrOnWindowsAzure

最新更新