示例#1
0
        private static Directory[] GetIndexStores(string indexName)
        {
            var indexPaths = LnFileHelper.GetAllIndexDir(indexName);
            var dirs       = new List <Directory>();

            foreach (var indexPath in indexPaths)
            {
                System.IO.Directory.CreateDirectory(indexPath);
                var dirInfo = new System.IO.DirectoryInfo(indexPath);
                dirs.Add(FSDirectory.Open(dirInfo));
            }
            return(dirs.ToArray());
        }
示例#2
0
        /// <summary>
        /// 获取索引存储目录
        /// </summary>
        /// <param name="indexName">索引名</param>
        /// <param name="needCompressionIndexDir">需要压缩的目录</param>
        /// <returns></returns>
        private static Directory GetIndexStore(string indexName, out Directory needCompressionIndexDir)
        {
            string needCompressionIndexDirPath = null;
            var    result = _indexStores.GetOrAdd(indexName, (key) =>
            {
                //var indexPath = "Indexs/" + key;
                var indexPath = LnFileHelper.GetLastIndexDir(key, out needCompressionIndexDirPath);
                System.IO.Directory.CreateDirectory(indexPath);
                var dirInfo = new System.IO.DirectoryInfo(indexPath);
                return(FSDirectory.Open(dirInfo));
            });

            if (!string.IsNullOrEmpty(needCompressionIndexDirPath))
            {
                var dir = new System.IO.DirectoryInfo(needCompressionIndexDirPath);
                needCompressionIndexDir = FSDirectory.Open(dir);
            }
            else
            {
                needCompressionIndexDir = null;
            }

            return(result);
        }
示例#3
0
 private static bool LastDirExistsIndex(string indexName)
 {
     return(LnFileHelper.LastDirExistsIndex(indexName));
 }