如何提高电子商务网站的搜索性能?

时间:2012-04-24 14:10:55

标签: performance asp.net-mvc-3 search e-commerce binary-search

我有一个建立在ASP.net MVC3上的电子商务网站。它有appx。 200k产品。我们目前正在产品表中搜索,以便在网站上提供搜索。

问题在于它是致命的慢,当然,通过分析探查器的性能,我们发现它是sql搜索,这是主要问题。

可以使用哪些其他替代方案来加速搜索?我们是否需要为搜索构建单独的缓存或者还需要做任何其他事情?

如果你看看其他大型电子商务网站,如ebay,amazon或flipkart,它们非常快。他们是怎么做到的?

1 个答案:

答案 0 :(得分:6)

他们通常使用例如Lucene.NETSolr构建可搜索内容的全文索引(使用Java,但可以使用SolrNet通过.NET调用它的实例)。

索引是从您的SQL数据库构建的,您所做的任何搜索都需要通过向SQL数据库发送查询来使用该索引,但当然使用不同的语法。需要定期更新/重新创建索引以保持SQL数据库的最新状态。

这样的文本索引是为查询大量字符串数据而构建的,可以在您网站的产品搜索功能中轻松处理数十万种产品。除了速度之外,如果没有文本索引,还有很多其他好处,例如拼写更正和模糊搜索。