public void ApplyFilter(FilterContext context) { string query = context.State.SearchQuery; if (string.IsNullOrEmpty(query)) { return; } var settings = _siteService.GetSiteSettings().As <SearchSettingsPart>(); string index = context.State.Index; var hitCountLimit = 0; int.TryParse(context.State.HitCountLimit.ToString(), out hitCountLimit); var hits = _searchService.Query(query, 0, hitCountLimit != 0 ? new Nullable <int>(hitCountLimit) : null, settings.FilterCulture, index, SearchSettingsHelper.GetSearchFields(settings), hit => hit); if (hits.Any()) { context.Query.WhereIdIn(hits.Select(hit => hit.ContentItemId)); } else { context.Query.WhereIdIn(new[] { 0 }); } }
public FactoryIndexerFile( IOptionsMonitor <ILog> options, TenantManager tenantManager, SearchSettingsHelper searchSettingsHelper, FactoryIndexer factoryIndexer, BaseIndexer <DbFile> baseIndexer, IServiceProvider serviceProvider, IDaoFactory daoFactory) : base(options, tenantManager, searchSettingsHelper, factoryIndexer, baseIndexer, serviceProvider) { DaoFactory = daoFactory; }
public FactoryIndexerEvents( IOptionsMonitor <ILog> options, TenantManager tenantManager, SearchSettingsHelper searchSettingsHelper, FactoryIndexer factoryIndexer, BaseIndexer <DbRelationshipEvent> baseIndexer, IServiceProvider serviceProvider, DaoFactory daoFactory, ICache cache) : base(options, tenantManager, searchSettingsHelper, factoryIndexer, baseIndexer, serviceProvider, cache) { DaoFactory = daoFactory; }
public FactoryIndexerFile( IOptionsMonitor <ILog> options, TenantManager tenantManager, SearchSettingsHelper searchSettingsHelper, FactoryIndexer factoryIndexer, BaseIndexer <DbFile> baseIndexer, IServiceProvider serviceProvider, IDaoFactory daoFactory, ICache cache, ConfigurationExtension configurationExtension) : base(options, tenantManager, searchSettingsHelper, factoryIndexer, baseIndexer, serviceProvider, cache) { DaoFactory = daoFactory; Settings = Settings.GetInstance(configurationExtension); }
public BaseIndexer( Client client, IOptionsMonitor <ILog> log, DbContextManager <WebstudioDbContext> dbContextManager, TenantManager tenantManager, SearchSettingsHelper searchSettingsHelper, BaseIndexerHelper baseIndexerHelper, IServiceProvider serviceProvider) { Client = client; Log = log.CurrentValue; TenantManager = tenantManager; SearchSettingsHelper = searchSettingsHelper; BaseIndexerHelper = baseIndexerHelper; ServiceProvider = serviceProvider; WebstudioDbContext = dbContextManager.Value; }
public FactoryIndexer( IOptionsMonitor <ILog> options, FactoryIndexerHelper factoryIndexerSupport, TenantManager tenantManager, SearchSettingsHelper searchSettingsHelper, FactoryIndexer factoryIndexer, BaseIndexer <T> baseIndexer, Client client, IServiceProvider serviceProvider) { Logger = options.Get("ASC.Indexer"); FactoryIndexerHelper = factoryIndexerSupport; TenantManager = tenantManager; SearchSettingsHelper = searchSettingsHelper; FactoryIndexerCommon = factoryIndexer; Indexer = baseIndexer; Client = client; ServiceProvider = serviceProvider; }
public Expression <Func <ISearchItem, object[]> > GetSearchContentFields(SearchSettingsHelper searchSettings) { return((a) => new[] { Title, Description }); }
public bool CanSearchByContent() { return(SearchSettingsHelper.CanSearchByContent <T>(TenantManager.GetCurrentTenant().TenantId)); }