예제 #1
0
        public void TestCreateIndex()
        {
            Db.GetIndexes().Should().BeEmpty();

            var fName = Expression.Property("firstName");
            var lName = Expression.Property("lastName");

            var fNameItem = ValueIndexItem.Property("firstName");
            var lNameItem = ValueIndexItem.Expression(lName);

            var index1 = IndexBuilder.ValueIndex(fNameItem, lNameItem);

            Db.CreateIndex("index1", index1);

            var detailItem = FullTextIndexItem.Property("detail");
            var index2     = IndexBuilder.FullTextIndex(detailItem);

            Db.CreateIndex("index2", index2);

            var detailItem2 = FullTextIndexItem.Property("es-detail");
            var index3      = IndexBuilder.FullTextIndex(detailItem2).IgnoreAccents(true).SetLanguage("es");

            Db.CreateIndex("index3", index3);

            Db.GetIndexes().ShouldBeEquivalentTo(new[] { "index1", "index2", "index3" });
        }
예제 #2
0
        public void TestCreateSameIndexTwice()
        {
            var item  = ValueIndexItem.Expression(Expression.Property("firstName"));
            var index = IndexBuilder.ValueIndex(item);

            Db.CreateIndex("myindex", index);
            Db.CreateIndex("myindex", index);

            Db.GetIndexes().ShouldBeEquivalentTo(new[] { "myindex" });
        }
예제 #3
0
        public void TestDeleteIndex()
        {
            TestCreateIndex();

            Db.DeleteIndex("index1");
            Db.GetIndexes().ShouldBeEquivalentTo(new[] { "index2", "index3" });

            Db.DeleteIndex("index2");
            Db.GetIndexes().ShouldBeEquivalentTo(new[] { "index3" });

            Db.DeleteIndex("index3");
            Db.GetIndexes().Should().BeEmpty();

            Db.DeleteIndex("dummy");
            Db.DeleteIndex("index1");
            Db.DeleteIndex("index2");
            Db.DeleteIndex("index3");
        }
예제 #4
0
        public void TestCreateSameNameIndexes()
        {
            var fName = Expression.Property("firstName");
            var lName = Expression.Property("lastName");

            var fNameItem  = ValueIndexItem.Expression(fName);
            var fNameIndex = IndexBuilder.ValueIndex(fNameItem);

            Db.CreateIndex("myindex", fNameIndex);

            var lNameItem  = ValueIndexItem.Expression(lName);
            var lNameIndex = IndexBuilder.ValueIndex(lNameItem);

            Db.CreateIndex("myindex", lNameIndex);

            Db.GetIndexes().ShouldBeEquivalentTo(new[] { "myindex" }, "because lNameIndex should overwrite fNameIndex");

            var detailItem  = FullTextIndexItem.Property("detail");
            var detailIndex = IndexBuilder.FullTextIndex(detailItem);

            Db.CreateIndex("myindex", detailIndex);

            Db.GetIndexes().ShouldBeEquivalentTo(new[] { "myindex" }, "because detailIndex should overwrite lNameIndex");
        }