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

Kru*_*nal 2 performance search binary-search e-commerce asp.net-mvc-3

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

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

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

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

Jul*_*anR 6

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

该指数是从SQL数据库构建和你做的任何搜索都需要通过像使用SQL数据库查询发送给它使用该索引的,但有不同的语法课程.需要定期更新/重新创建索引以保持SQL数据库的最新状态.

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