refactor(migrate): use searchable_segment_ids() instead of reader() for merge #261

This commit is contained in:
rustmailer
2026-05-23 10:26:09 +08:00
parent 0dd81f599d
commit 26c14fcaaf
+2 -8
View File
@@ -457,16 +457,10 @@ impl NewIndexWriter {
("attachment", &mut self.attachment_writer), ("attachment", &mut self.attachment_writer),
] { ] {
if let Some(writer) = writer_opt.as_mut() { if let Some(writer) = writer_opt.as_mut() {
let reader = writer let seg_ids = writer
.index() .index()
.reader() .searchable_segment_ids()
.map_err(|e| raise_error!(format!("{:#?}", e), ErrorCode::InternalError))?; .map_err(|e| raise_error!(format!("{:#?}", e), ErrorCode::InternalError))?;
let seg_ids: Vec<_> = reader
.searcher()
.segment_readers()
.iter()
.map(|r| r.segment_id())
.collect();
println!("merging {} {} segments...", seg_ids.len(), name); println!("merging {} {} segments...", seg_ids.len(), name);
if seg_ids.len() > 1 { if seg_ids.len() > 1 {
let _ = writer.merge(&seg_ids); let _ = writer.merge(&seg_ids);