Changed() public method

Call this before committing if changes have been made to the segments.
public Changed ( ) : void
return void
Esempio n. 1
0
        public virtual void Split(DirectoryInfo destDir, string[] segs)
        {
            destDir.Create();
            FSDirectory  destFSDir = FSDirectory.Open(destDir);
            SegmentInfos destInfos = new SegmentInfos();

            destInfos.Counter = Infos.Counter;
            foreach (string n in segs)
            {
                SegmentCommitInfo infoPerCommit = GetInfo(n);
                SegmentInfo       info          = infoPerCommit.Info;
                // Same info just changing the dir:
                SegmentInfo newInfo = new SegmentInfo(destFSDir, info.Version, info.Name, info.DocCount, info.UseCompoundFile, info.Codec, info.Diagnostics);
                destInfos.Add(new SegmentCommitInfo(newInfo, infoPerCommit.DelCount, infoPerCommit.DelGen, infoPerCommit.FieldInfosGen));
                // now copy files over
                ICollection <string> files = infoPerCommit.GetFiles();
                foreach (string srcName in files)
                {
                    FileInfo srcFile  = new FileInfo(Path.Combine(dir.FullName, srcName));
                    FileInfo destFile = new FileInfo(Path.Combine(destDir.FullName, srcName));
                    CopyFile(srcFile, destFile);
                }
            }
            destInfos.Changed();
            destInfos.Commit(destFSDir);
            // Console.WriteLine("destDir:"+destDir.getAbsolutePath());
        }
Esempio n. 2
0
 public virtual void Remove(string[] segs)
 {
     foreach (string n in segs)
     {
         int idx = GetIdx(n);
         infos.Remove(idx);
     }
     infos.Changed();
     infos.Commit(fsDir);
 }
Esempio n. 3
0
 public virtual void Split(DirectoryInfo destDir, string[] segs)
 {
     destDir.Create();
     FSDirectory destFSDir = FSDirectory.Open(destDir);
     SegmentInfos destInfos = new SegmentInfos();
     destInfos.Counter = infos.Counter;
     foreach (string n in segs)
     {
         SegmentCommitInfo infoPerCommit = GetInfo(n);
         SegmentInfo info = infoPerCommit.Info;
         // Same info just changing the dir:
         SegmentInfo newInfo = new SegmentInfo(destFSDir, info.Version, info.Name, info.DocCount, info.UseCompoundFile, info.Codec, info.Diagnostics);
         destInfos.Add(new SegmentCommitInfo(newInfo, infoPerCommit.DelCount, infoPerCommit.DelGen, infoPerCommit.FieldInfosGen));
         // now copy files over
         ICollection<string> files = infoPerCommit.Files();
         foreach (string srcName in files)
         {
             FileInfo srcFile = new FileInfo(Path.Combine(dir.FullName, srcName));
             FileInfo destFile = new FileInfo(Path.Combine(destDir.FullName, srcName));
             CopyFile(srcFile, destFile);
         }
     }
     destInfos.Changed();
     destInfos.Commit(destFSDir);
     // Console.WriteLine("destDir:"+destDir.getAbsolutePath());
 }