Lucene.Net.Search.SparseFacetedSearcher.Search C# (CSharp) Method

Search() public method

public Search ( Query query = null, int maxDocPerGroup = DefaultMaxDocPerGroup ) : FacetSearchResult
query Query
maxDocPerGroup int
return FacetSearchResult
        public FacetSearchResult Search(Query query = null, int maxDocPerGroup = DefaultMaxDocPerGroup)
        {
            var hitsPerFacet = SearchInternal(query, maxDocPerGroup);
            return new FacetSearchResult(hitsPerFacet);
        }

Usage Example

        public void Test2()
        {
            Query query = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "text", new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29)).Parse("block*");

            var sfs = new SparseFacetedSearcher(_Reader, "category");
            var hits = sfs.Search(query);

            Assert.AreEqual(4, hits.Facets.Count());

            foreach (var hpg in hits.Facets)
            {
                if (hpg.Name[0] == "politics")
                {
                    Assert.AreEqual(1, hpg.Count);
                }
                else
                    if (hpg.Name[0] == "tech")
                    {
                        Assert.AreEqual(2, hpg.Count);
                    }
                    else
                        if (hpg.Name[0] == "sport")
                        {
                            Assert.AreEqual(1, hpg.Count);
                        }
                        else
                        {
                            Assert.AreEqual(0, hpg.Count);
                        }
            }

            Assert.AreEqual(4, hits.TotalHitCount);

            foreach (var hpg in hits.Facets)
            {
                foreach (Document doc in hpg.Documents)
                {
                    string text = doc.GetField("text").StringValue();
                    Assert.IsTrue(text.Contains("block"));
                }
            }
        }
All Usage Examples Of Lucene.Net.Search.SparseFacetedSearcher::Search