在基点上,我发现了一幅大举的gra光。 它储存基点的双线,每当面面值计算时改进性能。
var genreQuery = new TermQuery(new Term("genre", genre));
var genreQueryFilter = new QueryFilter(genreQuery);
BitArray genreBitArray = genreQueryFilter.Bits(searcher.GetIndexReader());
Console.WriteLine("There are " + GetCardinality(genreBitArray) + " document with the genre " + genre);
// Next perform a regular search and get its BitArray result
Query searchQuery = MultiFieldQueryParser.Parse(term, new[] {"title", "description"}, new[] {BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD}, new StandardAnalyzer());
var searchQueryFilter = new QueryFilter(searchQuery);
BitArray searchBitArray = searchQueryFilter.Bits(searcher.GetIndexReader());
Console.WriteLine("There are " + GetCardinality(searchBitArray) + " document containing the term " + term);
唯一的问题是,我正在使用更新的卢塞内版本。 NET (2.9) and Filter. 比方陈旧。 我们被告知使用DocIdSet(而不是BitArray)。
我无法发现如何做仲裁。 And(Array) with a docIdSet. 我看着反射器,发现“开放式”系统已经运作。 我说,我不敢肯定开放式的Set是走路。
提前感谢!