コード例 #1
0
        private void InternalSave()
        {
            _log.Info("saving index...");
            DateTime dt = FastDateTime.Now;

            // save deleted
            if (_deleted != null)
            {
                _deleted.SaveIndex();
            }

            // save docs
            if (_docMode)
            {
                _docs.SaveIndex();
            }

            if (_bitmaps != null)
            {
                _bitmaps.Commit(false);
            }

            if (_words != null && _wordschanged == true)
            {
                MemoryStream ms = new MemoryStream();
                BinaryWriter bw = new BinaryWriter(ms, Encoding.UTF8);

                // save words and bitmaps
                using (FileStream words = new FileStream(_Path + _FileName + ".words", FileMode.Create))
                {
                    foreach (string key in _words.Keys())
                    {
                        bw.Write(key);
                        bw.Write(_words[key]);
                    }
                    byte[] b = ms.ToArray();
                    words.Write(b, 0, b.Length);
                    words.Flush();
                    words.Close();
                }
                _wordschanged = false;
            }
            _log.Info("save time (ms) = " + FastDateTime.Now.Subtract(dt).TotalMilliseconds);
        }
コード例 #2
0
        /// <summary>
        /// Save the Index
        /// </summary>
        private void InternalSave()
        {
            _log.Info("saving index...");
            DateTime dt = FastDateTime.Now;

            // save deleted
            if (_deleted != null)
            {
                _deleted.SaveIndex();
            }

            // save docs
            if (HootConfOptions.DocMode)
            {
                _docs.SaveIndex();
            }

            if (_bitmaps != null)
            {
                _bitmaps.Commit(true);
            }

            if (_words != null && _wordschanged == true)
            {
                // save words and bitmaps
                using (FileStream words = new FileStream(Path.Combine(HootConfOptions.IndexPath, $"{HootConfOptions.FileName}.words"), FileMode.Create))
                {
                    using (BinaryWriter bw = new BinaryWriter(words, Encoding.UTF8))
                    {
                        foreach (string key in _words.Keys())
                        {
                            bw.Write(key);
                            bw.Write(_words[key]);
                        }
                    }
                }
                _wordschanged = false;
            }
            _log.Info("save time (ms) = " + FastDateTime.Now.Subtract(dt).TotalMilliseconds);
        }