我已经开始使用RavenDb,我注意到RavenDb服务器根据我的查询创建自定义索引。如果我多次使用相同的索引(执行相同的查询),那么将永久创建索引。
我的问题是,为什么我想从ny代码创建一个自定义索引,如果Raven是聪明的,我应该为我创建这些索引?
答案 0 :(得分:5)
Raven可以做很多事情,无法在简单的linq查询中表达。例如,Map / Reduce,Multimap,Transformation,自定义分析等等。
此外,Joachim的观点是正确的 - 表达需要新动态索引的查询的第一个用户将获得命中。要么他们不会得到合理数量的数据,要么你明确等待非陈旧结果,他们将等待很长时间。
动态查询非常适合快速原型设计,但在某些时候,您应该回顾实际构建的内容,并考虑为这些操作创建静态索引。