Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        public async Task <IContentTextIndex> CreateAsync(Guid schemaId)
        {
            grain = new LuceneTextIndexGrain(new IndexManager(storage, A.Fake <ISemanticLog>()));

            await grain.ActivateAsync(schemaId);

            return(new LuceneTextIndex(grainFactory));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
Exemplo n.º 5
0
        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 });
        }
Exemplo n.º 6
0
        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();
            }
        }