什么是MVC / Azure中“喜欢”搜索的最佳部署

时间:2012-02-15 14:45:12

标签: azure lucene azure-sql-database full-text-search sql-like

我在Azure上使用MVC3,我喜欢有一种“喜欢”的搜索方式, 例如http://msdn.microsoft.com/en-us/library/ms179859.aspx

第一个问题: Lucene是否支持“喜欢”搜索,我尝试在Google上提出这个问题,但是搜索“喜欢”这个词很难得到以下结果:我喜欢使用Lucene :)

第二:使用SQL Azure进行“喜欢”搜索可以获得什么样的性能,只有id(int)作为键,而text(string(100))表示“喜欢”搜索,行数约1000万。我试过似乎无法解决,总是超时。或者你可以回答这个问题:我知道这是一种在SQL Azure中改进“喜欢”搜索的方法。

第3个问题:是否有任何其他适用于Azure平台的产品可以支持具有合理性能的“喜欢”搜索(上述示例数据库少于2秒)

感谢。

3 个答案:

答案 0 :(得分:4)

SQL Azure不支持全文索引,因此“LIKE”仅限于ANSI SQL运算符。这对于一般搜索来说完全不够。通常,在云(Azure)上,您希望避免使用SQL进行搜索 - 从可伸缩性的角度来看,它是错误的。

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

答案 1 :(得分:3)

Lucene确实支持LIKE搜索,并且有一个特定于Lucene.NET的库,它利用Azure存储来获取Lucene索引。这允许您提供容错的Lucene索引,该索引在云中可以很好地扩展。

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

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

答案 2 :(得分:1)

您可能希望了解在Azure上实施Solr。这里有关于演示和教程的很好的写作:

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