अपने solr संस्करण को जानने के बिना जवाब देना बहुत मुश्किल है।
मेरे अनुभव से, सोलर प्रतियां इंडेक्स फाइलें अलग होती हैं (नया तब टाइमस्टैम्प)। हालांकि, अगर आपकी अनुक्रमणिका विलय हो जाती है, तो यह पूरी प्रतिलिपि ट्रिगर करेगा।
यहाँ कुछ संबंधित टिकट
https://issues.apache.org/jira/browse/SOLR-6640
** अद्यतन 2017/11/27 **
इस 5x शाखा में एक प्रासंगिक हिस्सा है,
https://github.com/apache/lucene-solr/blob/branch_5x/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java#L398-L418
try {
IndexWriter indexWriter = writer.get();
int c = 0;
indexWriter.deleteUnusedFiles();
while (hasUnusedFiles(indexDir, commit)) {
indexWriter.deleteUnusedFiles();
LOG.info("Sleeping for 1000ms to wait for unused lucene index files to be delete-able");
Thread.sleep(1000);
c++;
if (c >= 30) {
LOG.warn("IndexFetcher unable to cleanup unused lucene index files so we must do a full copy instead");
isFullCopyNeeded = true;
break;
}
}
if (c > 0) {
LOG.info("IndexFetcher slept for " + (c * 1000) + "ms for unused lucene index files to be delete-able");
}
} finally {
writer.decref();
}
है
तो, आपके पास 3 से अधिक हैं 0 अप्रयुक्त इंडेक्स फाइलें और यह चेतावनी संदेश & पूर्ण प्रतिलिपि को ट्रिगर करेगा। मैं मास्टर से इंडेक्स को अनुकूलित या मर्ज करने का प्रयास करता हूं और देखता हूं कि पूर्ण कॉपी को दोहराया गया है या नहीं।
स्रोत
2017-11-26 01:53:33
दास केवल मास्टर इंडेक्स की प्रति ही रखेगा, स्वयं को साफ नहीं करेगा। यह अजीब बात है, हालांकि, आपका मास्टर अभी भी अप्रयुक्त इंडेक्स रखता है। यदि आप परीक्षण कर सकते हैं, तो अपनी अनुक्रमणिका का बैकअप लें और कोर को "ऑप्टिमाइज़" करने का प्रयास करें। और देखें कि क्या आप इस मुद्दे को अपने दास में दोहरा सकते हैं। –