我想通过删除旧版块来保留特定的细分数量。 在Lucene或Solr有可能吗?
答案 0 :(得分:3)
每个索引文件都包含Lucene必不可少的特定信息。如果任何索引文件被Lucene本身以外的任何东西修改或删除,则索引会被破坏,唯一的选择是运行CheckIndex工具[...]或执行原始数据的完整重建索引。
简而言之:不,你自己不能。
但是你可以影响Lucene / Solr来关注你的细分。对你有意思的应该是这些主题。
取自Solr的示例collection1
的solrconfig.xml合并因子控制一次合并多少个细分。 对于TieredMergePolicy,mergeFactor是一个便利参数 将立即设置MaxMergeAtOnce和SegmentsPerTier。 对于LogByteSizeMergePolicy,mergeFactor决定了多少个新段 在被合并为一个之前将被允许。 两个合并策略的默认值均为10.
进一步阅读
也取自Solr的示例collection1
的solrconfig.xmlLucene中的合并政策控制着如何合并细分。 自Solr / Lucene 3.3起的默认值是TieredMergePolicy。 自Lucene 2.3以来的默认值是LogByteSizeMergePolicy, 甚至旧版本的Lucene都使用了LogDocMergePolicy。
进一步阅读
也取自Solr的示例collection1
的solrconfig.xmlLucene中的Merge Scheduler控制着合并的方式 执行。 ConcurrentMergeScheduler(Lucene 2.3默认) 可以使用单独的线程在后台执行合并。 SerialMergeScheduler(Lucene 2.2默认值)不会。