我启动的第一个查询比第二次使用相同查询慢。
我想知道为什么会发生这种情况,是因为索引必须从磁盘转到内存?那么,对我来说更难理解。如果我重新启动我的计算机就像第一次一样,所以它只是第一次使用索引缓慢运行。
在第一次查询之前,lucene中是否有任何方法可以为所有索引准备cach?
答案 0 :(得分:0)
是的,对#34;热身"非常有用。首次开始时的指数。
虽然没有一些神奇的方法可以打电话。你已经对如何做到了很好的提示,因为第二次搜索速度更快。预热索引的方法是运行一些典型的查询。在预热时,您需要运行实际上会发生的那类查询,这一点非常重要。毕竟,您正在为lucene构建缓存以进行搜索。如果你正在为没有人正在搜索的数据构建缓存,那你只是在浪费时间。
如果您正在排序(即通过字段或其他自定义排序,而不是分数),请确保您有一些热身查询使用相同的排序。