在lucene中加快搜索的最佳索引分区策略是什么?
更少的索引分区是否更好,并且导致搜索速度比许多索引分区更快?
答案 0 :(得分:3)
首先,我认为强调分区和分片之间的区别非常重要。
据我了解,Lucene中的分区意味着您有多个索引(单独的IndexReader
s / IndexWriter
s / Directory
个实例)在同一个JVM下运行。
Sharding 意味着上面提到的所有内容 plus 单独的JVM(如果你是磁盘绑定的话,将索引放在不同的磁盘上也是有意义的。)
无论如何,对此没有简单的答案,但这些是一些一般性的观点:
<强>赞成强>:
更多积分here。
<强>缺点强>:
上面说过,如果你在努力提高性能或计划未来大量的数据涌入,我只推荐分片。如果数据在逻辑上是分开的,那么分区通常是一个好主意;你可以用它作为分片的第一步(如果你这么做的话)。