public void GetSearchResultsBasic()
        {
            const string keyword = "awesome";
            const string userUrl = "mysite/userid/1";
            const string tabUrl1 = "mysite/Home";
            const string tabUrl2 = "mysite/AboutUs";

            var now  = DateTime.UtcNow;
            var doc1 = new SearchDocument {
                UniqueKey = "key01", TabId = TabId1, Url = tabUrl1, Title = keyword, SearchTypeId = TabSearchTypeId, ModifiedTimeUtc = now, PortalId = PortalId0, RoleId = RoleId731
            };
            var doc2 = new SearchDocument {
                UniqueKey = "key02", TabId = TabId2, Url = tabUrl2, Title = keyword, SearchTypeId = TabSearchTypeId, ModifiedTimeUtc = now, PortalId = PortalId0, RoleId = RoleId0
            };
            var userdoc = new SearchDocument {
                UniqueKey = "key03", Url = userUrl, Title = keyword, SearchTypeId = UserSearchTypeId, ModifiedTimeUtc = now, PortalId = PortalId0, RoleId = RoleId0
            };

            _internalSearchController.AddSearchDocument(doc1);
            _internalSearchController.AddSearchDocument(doc2);
            _internalSearchController.AddSearchDocument(userdoc);
            _internalSearchController.Commit();

            var query = new SearchQuery
            {
                KeyWords  = keyword,
                PortalIds = new List <int> {
                    PortalId0
                },
                SearchTypeIds        = new[] { ModuleSearchTypeId, TabSearchTypeId, UserSearchTypeId },
                BeginModifiedTimeUtc = now.AddMinutes(-1),
                EndModifiedTimeUtc   = now.AddMinutes(+1),
                PageIndex            = 1,
                PageSize             = 15,
                SortField            = 0,
                TitleSnippetLength   = 120,
                BodySnippetLength    = 300,
                WildCardSearch       = true
            };

            //Run
            var search = GetGroupBasicViewResults(query);
            //Assert - overall 2 groups: tabs and users
            var groupedBasicViews = search as List <GroupedBasicView> ?? search.ToList();

            Assert.AreEqual(2, groupedBasicViews.Count());

            //1 User results
            Assert.AreEqual(1, groupedBasicViews.Single(x => x.DocumentTypeName == "user").Results.Count());

            //User result should have 1 attribute(avatar)
            Assert.AreEqual(1, groupedBasicViews.Single(x => x.DocumentTypeName == "user").Results.ElementAt(0).Attributes.Count());

            //2 Tabs results
            Assert.AreEqual(2, groupedBasicViews.Single(x => x.DocumentTypeName == "tab").Results.Count());
        }
Ejemplo n.º 2
0
 private SearchStatistics GetSearchStatistics()
 {
     _internalSearchController.Commit();
     Thread.Sleep((int)(_readerStaleTimeSpan * 1000)); // time to flush data to Lucene
     return(_internalSearchController.GetSearchStatistics());
 }