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()); }
/// <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); }
private static bool LastDirExistsIndex(string indexName) { return(LnFileHelper.LastDirExistsIndex(indexName)); }