public string GetFileFolder(AccountName accountName, DocumentIndexSetup documentIndexSetup) { string basePath = string.IsNullOrEmpty(documentIndexSetup.IndexPath) ? string.Format("{0}\\{1}", IndexFileRootPath, "index") : documentIndexSetup.IndexPath; var isOnSite = accountName == AccountName.Empty; return(Path.Combine(basePath, isOnSite ? basePath : string.Format("{0}\\{1}", basePath, accountName.Value))); }
private string GetIndexPath(DocumentIndexSetup documentIndexSetup, AccountName accountName) { string basePath = string.IsNullOrEmpty(documentIndexSetup.IndexPath) ? string.Format("{0}\\{1}", BasePath, "index") : documentIndexSetup.IndexPath; var isOnSite = accountName == AccountName.Empty; return(Path.Combine(basePath, isOnSite ? basePath : string.Format("{0}\\{1}", basePath, accountName.Value))); }
public DocumentIndexProvider(IActivityLoggerFactory loggerFactory, DocumentIndexSetup documentIndexSetup, DocumentIndexMetadata documentIndexMetadata, DocumentIndexOptimizeHintFactory optimizeHintFactory) { _loggerFactory = loggerFactory; _documentIndexSetup = documentIndexSetup; _documentIndexMetadata = documentIndexMetadata; _optimizeHintFactory = optimizeHintFactory; _documentIndexes = new DocumentIndexes(); }
public DocumentIndex(DocumentIndexTypeToken documentIndexTypeToken, AccountName accountName, Action shuttingDown, DocumentIndexSetup documentIndexSetup, Action <string> log) { _documentType = DocumentIndexTypes[documentIndexTypeToken]; _hoot = new Hoot(GetIndexPath(documentIndexSetup, accountName), _documentType.FileName, log, documentIndexSetup.MinStringLengthToSearch, documentIndexSetup.MaxStringLengthIgnore); _shuttingDown = shuttingDown; _isAlive = true; _gate = new object(); _documentIndexSetup = documentIndexSetup; UpdateToken(); }
public IEnumerable<int> GetVersions(AccountName accountName, DocumentIndexSetup documentIndexSetup) { string folder = GetFileFolder(accountName, documentIndexSetup); string versionedFilenameMask = _documentIndexDataTypeService.CreateVersionedFilenameMask(_fileName); return _fileService.GetFiles(folder, versionedFilenameMask) .Select(name => _documentIndexDataTypeService.ParseVersion(new FileInfo(name).Name)) .Choose() .Distinct() .ToList(); }
public DocumentIndexRebuilder(IDocumentIndexProvider documentIndexProvider, DocumentIndexSetup documentIndexSetup, ITpBus bus, IPluginContext pluginContext, IPluginMetadata pluginMetadata, IProfileCollection profileCollection, IProfile profile, IActivityLogger logger) { _documentIndexProvider = documentIndexProvider; _documentIndexSetup = documentIndexSetup; _bus = bus; _pluginContext = pluginContext; _pluginMetadata = pluginMetadata; _profileCollection = profileCollection; _profile = profile; _logger = logger; }
public IEnumerable <int> GetVersions(AccountName accountName, DocumentIndexSetup documentIndexSetup) { string folder = GetFileFolder(accountName, documentIndexSetup); string versionedFilenameMask = _documentIndexDataTypeService.CreateVersionedFilenameMask(_fileName); return(_fileService.GetFiles(folder, versionedFilenameMask) .Select(name => _documentIndexDataTypeService.ParseVersion(new FileInfo(name).Name)) .Choose() .Distinct() .ToList()); }
public IDocumentIndexOptimizeHint Create(DocumentIndexSetup setup) { switch (setup.DeferredOptimizeType) { case DeferredOptimizeType.None: case DeferredOptimizeType.Time: return new DocumentIndexOptimizeNoHint(); case DeferredOptimizeType.Calls: return new DocumentIndexOptimizeByCallsHint(setup.DeferredOptimizeCounter); default: throw EnumServices.CreateUnexpectedEnumError(setup.DeferredOptimizeType); } }
public DocumentIndexTyped(DocumentIndexType indexType, IPluginContext context, Action shuttedDown, DocumentIndexSetup documentIndexSetup, IActivityLoggerFactory loggerFactory, DocumentIndexOptimizeHintFactory optimizeHintFactory) { _indexType = indexType; _logger = loggerFactory.Create(new PluginContextSnapshot(context)); var indexPath = _indexType.GetFileFolder(context.AccountName, documentIndexSetup); _hoot = new Hoot(indexPath, _indexType.FileName, _logger.Debug, _logger.Error, indexType.CreateTokensParser(documentIndexSetup), _logger.IsDebugEnabled); _shuttedDown = shuttedDown; _isAlive = true; _documentIndexSetup = documentIndexSetup; _optimizeHint = optimizeHintFactory.Create(documentIndexSetup); _isOptimized = true; UpdateLastUsedToken(); }
public QueryParser(DocumentIndexSetup setup) { _setup = setup; _doubleQuotes = new Regex("\"[^\"]+\""); _symbolRemover = new SpecialSymbolRemover(); _steps = new List<Func<ParserContext, ParserContext>> { RemoveNewLines, MakeToLowerCase, TransformDoubleQuotesPhraseToMandatoryWords, SplitBySpecialSymbolsThenRemoveThem, RemoveEmptyWords, RemoveNotIndexedString, TransformNonMandatoryWordsIntoCandidatesForContains, AddMandatoryWords, RemoveDuplicateWords, }; }
public void RemovePreviousVersions() { var accountName = AccountName.Empty; var documentIndexSetup = new DocumentIndexSetup(string.Empty, 0, 0, 0); var activityLoggerFactory = ObjectFactory.GetInstance<IActivityLoggerFactory>(); var documentIndexOfVersion1 = CreateDocumentIndex(accountName, 1, documentIndexSetup, activityLoggerFactory); documentIndexOfVersion1.Shutdown(new DocumentIndexShutdownSetup(forceShutdown: true, cleanStorage: false)); var documentIndexOfVersion3 = CreateDocumentIndex(accountName, 3, documentIndexSetup, activityLoggerFactory); documentIndexOfVersion3.Shutdown(new DocumentIndexShutdownSetup(forceShutdown: true, cleanStorage: false)); var documentIndexOfVersion2 = CreateDocumentIndex(accountName, 2, documentIndexSetup, activityLoggerFactory); IEnumerable<int> versions = documentIndexOfVersion2.Type.GetVersions(accountName, documentIndexSetup).ToList(); versions.Should(Be.EquivalentTo(new[]{1,2,3}), "versions.Should(Be.EquivalentTo(new[]{1,2,3}))"); foreach (var version in versions.Except(new[] { documentIndexOfVersion2.Type.Version})) { DocumentIndexType indexType = documentIndexOfVersion2.Type.CreateVersion(version); var documentIndex = CreateDocumentIndex(accountName, indexType, documentIndexSetup, activityLoggerFactory); documentIndex.Shutdown(new DocumentIndexShutdownSetup(forceShutdown: true, cleanStorage: true)); } documentIndexOfVersion2.Type.GetVersions(accountName, documentIndexSetup).Should(Be.EquivalentTo(new[] { documentIndexOfVersion2 .Type.Version}), "documentIndexOfVersion2.Type.GetVersions(accountName, documentIndexSetup).Should(Be.EquivalentTo(new[] { documentIndexOfVersion2 .Type.Version}))"); documentIndexOfVersion2.Shutdown(new DocumentIndexShutdownSetup(forceShutdown: true, cleanStorage: true)); }
public string GetFileFolder(AccountName accountName, DocumentIndexSetup documentIndexSetup) { string basePath = string.IsNullOrEmpty(documentIndexSetup.IndexPath) ? string.Format("{0}\\{1}", IndexFileRootPath, "index") : documentIndexSetup.IndexPath; var isOnSite = accountName == AccountName.Empty; return Path.Combine(basePath, isOnSite ? basePath : string.Format("{0}\\{1}", basePath, accountName.Value)); }
public ITokensParser CreateTokensParser(DocumentIndexSetup indexSetup) { return _documentIndexDataTypeService.CreateParser(indexSetup); }
private IDocumentIndex CreateDocumentIndex(AccountName accountName, DocumentIndexType documentIndexType, DocumentIndexSetup documentIndexSetup, IActivityLoggerFactory activityLoggerFactory) { return new DocumentIndexTyped(documentIndexType, new PluginContextMock { AccountName = accountName, ProfileName = "Qq" }, () => { }, documentIndexSetup, activityLoggerFactory, new DocumentIndexOptimizeHintFactory()); }
private IDocumentIndex CreateDocumentIndex(AccountName accountName, int version, DocumentIndexSetup documentIndexSetup, IActivityLoggerFactory activityLoggerFactory) { var indexType = new DocumentIndexType(DocumentIndexTypeToken.Entity, DocumentIndexDataTypeToken.Digits, "Entity", Enumerable.Empty<Enum>(), Enumerable.Empty<Enum>(), version, new DigitsDocumentIndexDataTypeService(), new FileService()); return CreateDocumentIndex(accountName, indexType, documentIndexSetup, activityLoggerFactory); }
public abstract ITokensParser CreateParser(DocumentIndexSetup indexSetup);
public override ITokensParser CreateParser(DocumentIndexSetup indexSetup) { return(new CharacterTokensParser(indexSetup.MinStringLengthToSearch, indexSetup.MaxStringLengthIgnore)); }
public ITokensParser CreateTokensParser(DocumentIndexSetup indexSetup) { return(_documentIndexDataTypeService.CreateParser(indexSetup)); }
public DocumentIndexProvider(Action<string> logger, DocumentIndexSetup documentIndexSetup) { _logger = logger; _documentIndexSetup = documentIndexSetup; _documentIndexes = new DocumentIndexes(); }
public DocumentIndexProvider(Action <string> logger, DocumentIndexSetup documentIndexSetup) { _logger = logger; _documentIndexSetup = documentIndexSetup; _documentIndexes = new DocumentIndexes(); }
public DocumentIndex(DocumentIndexType charactersIndexType, DocumentIndexType digitsIndexType, IPluginContext context, Action shuttedDown, DocumentIndexSetup documentIndexSetup, IActivityLoggerFactory loggerFactory, DocumentIndexOptimizeHintFactory optimizeHintFactory) { _charactersIndex = new DocumentIndexTyped(charactersIndexType, context, shuttedDown, documentIndexSetup, loggerFactory, optimizeHintFactory); _numberIndex = new DocumentIndexTyped(digitsIndexType, context, shuttedDown, documentIndexSetup, loggerFactory, optimizeHintFactory); }
public override ITokensParser CreateParser(DocumentIndexSetup _) { return(new DigitsTokensParser()); }
public override ITokensParser CreateParser(DocumentIndexSetup _) { return new DigitsTokensParser(); }
public override ITokensParser CreateParser(DocumentIndexSetup indexSetup) { return new CharacterTokensParser(indexSetup.MinStringLengthToSearch, indexSetup.MaxStringLengthIgnore); }