public BasicSearchIndexTest() { TestLiveDocsOptions options = new TestLiveDocsOptions { Search = new SearchConfiguration() }; SearchPipeline searchPipeline = new SearchPipelineBuilder().Tokenize().Normalize().RemoveStopWords().Stem().Build(); TestDocumentationIndex documentationIndex = new TestDocumentationIndex { DefaultProject = new TestDocumentationProject() }; documentationIndex.DefaultProject.Documents.Add(new TestDocument("Cat cat cat dog.")); basicSearchIndex = new BasicSearchIndex(searchPipeline, documentationIndex, options, null) { Documents = new[] { new BasicSearchIndex.Element { Path = "cat", LexicalIndexes = new [] { 0, 1, 2 } } }, Lexical = new[] { "cat", "are", "awesome" } }; }
// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.Configure <LiveDocsOptions>(Configuration.GetSection("LiveDocs")); SearchPipeline searchPipeline = new SearchPipelineBuilder().Tokenize().Normalize().RemoveStopWords().Stem().Build(); services.AddSingleton(searchPipeline); services.AddSingleton <IDocumentationService, DocumentationService>(); services.AddHostedService <ScheduledHostedService>(); services.AddControllersWithViews(); services.AddRazorPages(); }
public BigSearchIndexTest(ITestOutputHelper output) { _Output = output; TestLiveDocsOptions options = new TestLiveDocsOptions { Search = new SearchConfiguration() }; SearchPipeline searchPipeline = new SearchPipelineBuilder().Tokenize().Normalize().RemoveStopWords().Stem().Build(); TestDocumentationIndex documentationIndex = new TestDocumentationIndex { DefaultProject = new TestDocumentationProject() }; _Random = new Random(127442); List <string> words = new List <string>(); for (int i = 0; i < 15000; i++) { words.Add(WordMaker(_Random.Next(3, 10))); } // Seed a few english words words.Add("person"); words.Add("year"); words.Add("way"); words.Add("day"); words.Add("thing"); words.Add("man"); words.Add("world"); words.Add("life"); words.Add("hand"); words.Add("cat"); words.Add("code"); for (int i = 0; i < 1000; i++) { List <string> content = new List <string>(); for (int j = 0; j < _Random.Next(10, 5000); j++) { content.Add(words[_Random.Next(0, words.Count)]); } documentationIndex.DefaultProject.Documents.Add(new TestDocument(string.Join(' ', content))); } _BigSearchIndex = new BasicSearchIndex(searchPipeline, documentationIndex, options, null); _BigSearchIndex.BuildIndex().Wait(); }
public static async Task Main(string[] args) { var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add <App>("app"); builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); MarkdownPipeline markdownPipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().UseBootstrap().Build(); builder.Services.AddSingleton(markdownPipeline); SearchPipeline searchPipeline = new SearchPipelineBuilder().Tokenize().Normalize().RemoveStopWords().Stem().Build(); builder.Services.AddSingleton(searchPipeline); builder.Services.AddSingleton <IDocumentationService, RemoteDocumentationService>(); builder.Services.AddSingleton <RemoteLiveDocsOptions>(); await builder.Build().RunAsync(); }
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { config.AddEnvironmentVariables(prefix: "LiveDocs_"); config.AddCommandLine(args); }) .ConfigureHostConfiguration(configHost => { configHost.AddJsonFile("livedocs.json"); configHost.AddJsonFile("livedocs.Development.json", optional: true); configHost.AddJsonFile("livedocs.Staging.json", optional: true); }) .ConfigureServices((hostContext, services) => { services.Configure <LiveDocsOptions>(hostContext.Configuration.GetSection("livedocs")); SearchPipeline searchPipeline = new SearchPipelineBuilder().Tokenize().Normalize().RemoveStopWords().Stem().Build(); services.AddSingleton(searchPipeline); services.AddSingleton <IDocumentationService, DocumentationService>(); services.AddHostedService <Worker>(); });