Ejemplo n.º 1
0
        public void Nested()
        {
            IndexManager.PurgeIndexes();
            var expected = new List <SampleNest>
            {
                new SampleNest
                {
                    Id    = "1",
                    Title = "Nested Test",
                    Items = new List <NestedEntity>
                    {
                        new NestedEntity
                        {
                            Created = new DateTime(2019, 3, 7),
                            Code    = 3,
                            Data    = "item"
                        }
                    }
                }
            };

            IndexManager.BulkInsert(expected);
            var searchData = new FindRequest <SampleNest>(0, 10);
            var results    = searchData
                             .Must(SearchClause <SampleNest> .Range(x => x.Items, new DateTime(2019, 2, 7), new DateTime(2019, 6, 1), x => x.Items[0].Created))
                             .Must(SearchClause <SampleNest> .Range(x => x.Items, 2, 5, x => x.Items[0].Code))
                             .Must(SearchClause <SampleNest> .Term(x => x.Items, "item", x => x.Items[0].Data))
                             .Execute();
            var actual = results.Documents.ToList();

            Assert.Equal(expected.Count, actual.Count);
        }
Ejemplo n.º 2
0
        public void Indexing()
        {
            IndexManager.PurgeIndexes();
            var expected = new SampleDocument
            {
                Id      = Guid.NewGuid().ToString().Replace("-", ""),
                Content = @"When be draw drew ye. Defective in do recommend suffering. House it seven in spoil tiled court. Sister others marked fat missed did out use. Alteration possession dispatched collecting instrument travelling he or on. Snug give made at spot or late that mr. ",
                Title   = "Defective recommend"
            };

            IndexManager.IndexEntity(expected, true);
            var searchData = new FindRequest <SampleDocument>(0, 10);
            var results    = searchData
                             .Must(SearchClause <SampleDocument> .Term(x => x.Id, expected.Id))
                             .Execute();
            var actual = results.Documents.FirstOrDefault();

            Assert.Equal(expected.Id, actual.Id);
            Assert.Equal(expected.Content, actual.Content);
            Assert.Equal(expected.Title, actual.Title);
        }
Ejemplo n.º 3
0
        public void Term()
        {
            IndexManager.PurgeIndexes();
            var expected = new List <SampleItem>
            {
                new SampleItem
                {//0
                    Id       = "1",
                    Code     = "A",
                    Sequence = 1
                },
                new SampleItem
                {//1
                    Id       = "2",
                    Code     = "B",
                    Sequence = 2
                }
            };

            IndexManager.BulkInsert(expected);
            var searchData = new FindRequest <SampleItem>(0, 10);
            var results    = searchData
                             .Must(SearchClause <SampleItem> .Term(x => x.Code, "A"))
                             .Execute();
            var actual = results.Documents.ToList();

            Assert.Single(actual);
            Assert.Equal(expected[0].Id, actual[0].Id);

            searchData = new FindRequest <SampleItem>(0, 10);
            results    = searchData
                         .Must(SearchClause <SampleItem> .Term(x => x.Sequence, 2))
                         .Execute();
            actual = results.Documents.ToList();
            Assert.Single(actual);
            Assert.Equal(expected[1].Id, actual[0].Id);
        }
Ejemplo n.º 4
0
        public void Search()
        {
            IndexManager.PurgeIndexes();
            var expected = new List <SampleDocument>
            {
                new SampleDocument
                {
                    Id      = "1",
                    Sort    = "1",
                    Content = @"Omega",
                    Title   = "Alpha",
                    DocDate = new DateTime(2019, 11, 7)
                },
                new SampleDocument
                {
                    Id      = "2",
                    Sort    = "2",
                    Content = @"delta",
                    Title   = "Alpha",
                    DocDate = new DateTime(2019, 11, 7)
                },
                new SampleDocument
                {
                    Id      = "3",
                    Sort    = "3",
                    Content = @"thisfind",
                    Title   = "Mex",
                    DocDate = new DateTime(2019, 11, 7)
                },
                new SampleDocument
                {
                    Id      = "4",
                    Sort    = "4",
                    Content = @"trit",
                    Title   = "pep",
                    DocDate = new DateTime(2019, 11, 1)
                },
                new SampleDocument
                {
                    Id      = "5",
                    Sort    = "5",
                    Content = @"date",
                    Title   = "date",
                    DocDate = new DateTime(2019, 11, 7)
                }
            };

            IndexManager.BulkInsert(expected);
            var searchData = new FindRequest <SampleDocument>(0, 10);
            var results    = searchData
                             .Should(SearchClause <SampleDocument> .Term(x => x.Content, "thisfind"))
                             .Should(SearchClause <SampleDocument> .Term(x => x.Title, "alpha"))
                             .Should(SearchClause <SampleDocument> .GreaterThan(x => x.DocDate, new DateTime(2019, 11, 5)))
                             .Sort(x => x.Sort)
                             .Execute();
            var actual = results.Documents.ToList();

            Assert.Equal(4, actual.Count);
            Assert.Equal("1", actual[0].Id);
            Assert.Equal("2", actual[1].Id);
            Assert.Equal("3", actual[2].Id);
            Assert.Equal("5", actual[3].Id);
        }