Solr实时更改数据

时间:2012-07-12 13:32:53

标签: asp.net-mvc-3 solr

我们正在开发基于ASP.NET MVC3(C#)的大型电子商务网站。我们计划实施Solr以获得更好的搜索结果。

网站上有一个名为“最受欢迎产品”的功能。如命名建议,它根据客户查看的特定产品的次数显示网站上最受欢迎的产品。

在产品详情页面或产品详情页面上,我们通过放置一个唯一(最受欢迎的图标)图标来区分它,该图标表示最受欢迎的产品。

现在我们的问题是,我们如何更新产品在solr索引中最受欢迎的标志或状态?或者我们如何将此功能与solr相关联?

注意:更新整个solr索引以实现此功能的成本非常高。

2 个答案:

答案 0 :(得分:2)

我可以想到一些建议。可能会有更多。

  1. 拥有最受欢迎的产品(您认识的产品和您认为受欢迎的产品) - 在单独的Solr碎片中。这个核心应该比其他核心小得多。索引更新和提交将更快。

  2. 4.0 Near Real Time Search.中有一个solr功能。您可以在上面描述的此核心(甚至整个索引)上使用此功能。此功能需要solr 4.0

  3. 如果你还不能使用Solr 4.0,那么就拥有一个'live'核心和'on-deck'核心。使用新的标志/状态更新甲板上的核心。提交此新数据后,使用实时核心交换平台。现在“实时”核心的新搜索有新数据。重复。

  4. 如果频繁更改索引核心,请关闭或减少搜索加温查询。

答案 1 :(得分:2)

使用ExternalFileField存储产品的热门程度数据(也可在3.6中获得)。这使您可以更新该字段,而无需重新索引任何内容。