0

我们目前正在开发应用程序,其中许多“索引”视图使用大量虚拟属性。同时我们需要全文搜索功能。

我们选择的解决方案是使用 Sunspot/Solr 来索引模型,包括虚拟属性。然后,我们使用 Sunspot 检索正确的记录、对其进行排序、搜索等。这一切在我们的开发设置中运行良好。

显然,这种方法需要我们保持 Solr-index 与数据库同步,否则用户将不会在索引页面上看到他新创建的记录。为此,我们在应用程序的各个点强制执行索引操作。

在我们构建这个解决方案之前,我只是想检查一下以这种方式使用 Sunspot 是否存在问题。特别是,如果应用程序变得更大,是否必须使索引保持完美同步才会开始产生影响?

这似乎是处理索引页面中虚拟属性的一种非常好的方法,但我想确保它不是真的很好......

感谢我们的帮助
欧文

4

1 回答 1

0

在 Solr 中,提交是一项繁重的操作,您不想经常这样做。如果可能不会在用户激活的功能上触发提交,因为随着用户群的增长(有些用户是邪恶的),这可能会给您的服务器带来很大压力。

如果可以,请将服务器设置为每 x 秒自动提交一次(取决于索引的大小和服务器上的负载)。这样,您将不会有提交泛​​滥,同时将延迟保持在已知的最大间隔。

于 2011-06-20T06:43:27.367 回答