到目前为止,所有谈论过的解决方案都是在 查询时(query time) 实现的。这样做并不需要特殊的映射或特殊的索引模式,只是简单使用已经索引的数据。
查询时的灵活性通常会以牺牲搜索性能为代价,有时候将这些消耗从查询过程中转移到别的地方是有意义的。在实时 web 应用中, 100 毫秒可能是一个难以忍受的巨大延迟。
可以通过在索引时处理数据提高搜索的灵活性以及提升系统性能。为此仍然需要付出应有的代价:增加的索引空间与变慢的索引能力,但这与每次查询都需要付出代价不同,索引时的代价只用付出一次。
用户会感谢我们。