private async Task <long> IndexAsync(LuceneTextIndexGrain grain) { var text = new Dictionary <string, string> { ["iv"] = "Hello World" }; var ids = new Guid[Size]; for (var i = 0; i < ids.Length; i++) { ids[i] = Guid.NewGuid(); } var watch = ValueStopwatch.StartNew(); foreach (var id in ids) { var commands = new IndexCommand[] { new UpsertIndexEntry { ContentId = id, DocId = id.ToString(), ServeAll = true, ServePublished = true, Texts = text } }; await grain.IndexAsync(schemaId, commands.AsImmutable()); } return(watch.Stop()); }
public async Task <IContentTextIndex> CreateAsync(Guid schemaId) { grain = new LuceneTextIndexGrain(new IndexManager(storage, A.Fake <ISemanticLog>())); await grain.ActivateAsync(schemaId); return(new LuceneTextIndex(grainFactory)); }
public async Task <ITextIndex> CreateAsync(DomainId schemaId) { var indexManager = new IndexManager(storage, A.Fake <ISemanticLog>()); grain = new LuceneTextIndexGrain(indexManager); await grain.ActivateAsync(schemaId.ToString()); return(new LuceneTextIndex(grainFactory, indexManager)); }
private async Task <long> SearchAsync(LuceneTextIndexGrain grain) { var searchContext = new SearchContext { Languages = new HashSet <string>() }; var watch = ValueStopwatch.StartNew(); for (var i = 0; i < Size; i++) { var result = await grain.SearchAsync("Hello", default, searchContext);
private async Task IndexAndSearchAsync(IIndexStorage storage) { var factory = new IndexManager(storage, A.Fake <ISemanticLog>()); var grain = new LuceneTextIndexGrain(factory); await grain.ActivateAsync(appId.Id); var elapsed1 = await IndexAsync(grain); var elapsed2 = await SearchAsync(grain); var elapsed3 = await SearchAsync(grain); Assert.Equal(new long[0], new[] { elapsed1, elapsed2, elapsed3 }); }
private async Task IndexAndSearchAsync(IIndexStorage storage) { var schemaId = NamedId.Of(Guid.NewGuid(), "my-schema"); var factory = new IndexManager(storage, new NoopLog()); var grain = new LuceneTextIndexGrain(factory); await grain.ActivateAsync(Guid.NewGuid()); for (var i = 0; i < M; i++) { var ids = new Guid[N]; for (var j = 0; j < ids.Length; j++) { ids[j] = Guid.NewGuid(); } foreach (var id in ids) { var commands = new IndexCommand[] { new UpsertIndexEntry { ContentId = id, DocId = id.ToString(), ServeAll = true, ServePublished = true, Texts = texts } }; await grain.IndexAsync(schemaId, commands.AsImmutable()); } await grain.CommitAsync(); } }