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

Performance 如何提高电子商务网站的搜索性能?,performance,asp.net-mvc-3,search,e-commerce,binary-search,Performance,Asp.net Mvc 3,Search,E Commerce,Binary Search,我有一个基于ASP.NETMVC3的电子商务网站。它有appx。20万种产品。我们目前正在产品表中搜索,以便在网站上进行搜索 问题是它的速度非常慢,当然,通过分析profiler的性能,我们发现sql搜索是主要问题 还有哪些其他方法可以用来加快搜索速度?我们是否需要为搜索建立单独的缓存,或者需要做其他事情 如果你看看其他大型电子商务网站,如易趣、亚马逊或flipkart,它们的速度非常快。他们是如何做到的?他们通常使用例如或(使用Java,但可以通过.NET使用调用它的实例)来构建可搜索内容的全

我有一个基于ASP.NETMVC3的电子商务网站。它有appx。20万种产品。我们目前正在产品表中搜索,以便在网站上进行搜索

问题是它的速度非常慢,当然,通过分析profiler的性能,我们发现sql搜索是主要问题

还有哪些其他方法可以用来加快搜索速度?我们是否需要为搜索建立单独的缓存,或者需要做其他事情


如果你看看其他大型电子商务网站,如易趣、亚马逊或flipkart,它们的速度非常快。他们是如何做到的?

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

索引是从SQL数据库构建的,任何搜索都需要使用该索引,就像在SQL数据库上一样,向它发送查询,但当然使用不同的语法。需要定期更新/重新创建索引,以便与SQL数据库保持同步


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

我已经查看了Lucene.net和SolrNet,但不确定哪一个适合我的情况。我已经建立了一个基于商业的购物车。因此,这将需要建立产品的索引,我们需要将其与搜索结果页面集成,如果我没有错的话,结果集的产品将显示出来。请告知。Lucene.net还有其他替代品吗?如果是这样的话,它们是否值得考虑呢?Lucene.NET是我所知道的唯一一个,我几乎可以肯定它是.NET中最复杂、最完整的。Solr还使用Lucene作为其引擎(但它的Java同级,而不是Lucene.NET),因此它更像是一个构建在它之上的框架。据我所知,无论是Java还是.NET,Lucene都是托管世界中全文索引的首选工具:)我认为Solr更适合您,请参阅。我们已经实现了Solr,结果是惊人的快速和准确的搜索结果。谢谢你,朱利安