//Lookup by group int value (Alternative Syntax) private void LookupGroupsByIntAlt(Directory directory) { Filter groupEndDocs = new CachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("groupEnd", "x")))); IndexReader indexReader = DirectoryReader.Open(directory); IndexSearcher indexSearcher = new IndexSearcher(indexReader); GroupingSearch groupingSearch = new GroupingSearch(groupEndDocs); groupingSearch.SetGroupSort(new Sort()); groupingSearch.SetIncludeScores(true); Query query = NumericRangeQuery.NewInt32Range("Repetition", 1, 2, true, false); var groupsResult = groupingSearch.Search(indexSearcher, query, 0, 10); //search(indexSearcher, query, groupOffset, groupLimit); indexReader.Dispose(); }
//Lookup by group string value (Alternative Syntax) private void LookupGroupsByStringAlt(Directory directory) { Filter groupEndDocs = new CachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("groupEnd", "x")))); IndexReader indexReader = DirectoryReader.Open(directory); IndexSearcher indexSearcher = new IndexSearcher(indexReader); GroupingSearch groupingSearch = new GroupingSearch(groupEndDocs); groupingSearch.SetGroupSort(new Sort()); groupingSearch.SetIncludeScores(true); TermQuery query = new TermQuery(new Term("Category", "Cat 1")); var groupsResult = groupingSearch.Search(indexSearcher, query, 0, 10); //search(indexSearcher, query, groupOffset, groupLimit); indexReader.Dispose(); }