public void TestNotValuesForSimpleFacetHandler() { BrowseRequest br = new BrowseRequest(); br.Count = 20; br.Offset = 0; BrowseSelection colorSel = new BrowseSelection("color"); colorSel.AddValue("red"); br.AddSelection(colorSel); BrowseSelection idSel = new BrowseSelection("id"); idSel.AddNotValue("0"); br.AddSelection(idSel); BrowseResult result = null; BoboBrowser boboBrowser = null; int expectedHitNum = (_documentSize / 2) - 1; using (Directory ramIndexDir = CreateIndex()) { using (IndexReader srcReader = IndexReader.Open(ramIndexDir, true)) { using (boboBrowser = new BoboBrowser(BoboIndexReader.GetInstance(srcReader, _facetHandlers, null))) { result = boboBrowser.Browse(br); Assert.AreEqual(expectedHitNum, result.NumHits); StringBuilder buffer = new StringBuilder(); BrowseHit[] hits = result.Hits; for (int i = 0; i < hits.Length; ++i) { int expectedID = (i + 1) * 2; Assert.AreEqual(expectedID, int.Parse(hits[i].GetField("id"))); if (i != 0) { buffer.Append('\n'); } buffer.Append("id=" + hits[i].GetField("id") + "," + "color=" + hits[i].GetField("color")); } log.Info(buffer.ToString()); } } } }
public void TestNotValuesForRangeFacetHandler() { Console.WriteLine("TestNotValuesForRangeFacetHandler"); BrowseResult result = null; BoboBrowser boboBrowser = null; using (Directory ramIndexDir = CreateIndexTwo()) { using (IndexReader srcReader = IndexReader.Open(ramIndexDir, true)) { using (boboBrowser = new BoboBrowser(BoboIndexReader.GetInstance(srcReader, _facetHandlers, null))) { BrowseRequest br = new BrowseRequest(); br.Count = (20); br.Offset = (0); if (_idRanges == null) { log.Error("_idRanges cannot be null in order to test NOT on RangeFacetHandler"); } BrowseSelection idSel = new BrowseSelection("idRange"); //int rangeIndex = 2; // Not used idSel.AddNotValue(_idRanges[0]); int expectedHitNum = 1; br.AddSelection(idSel); BooleanQuery q = new BooleanQuery(); q.Add(NumericRangeQuery.NewIntRange("NUM", 10, 10, true, true), Occur.MUST_NOT); q.Add(new MatchAllDocsQuery(), Occur.MUST); br.Query = q; result = boboBrowser.Browse(br); Assert.AreEqual(expectedHitNum, result.NumHits); for (int i = 0; i < result.NumHits; i++) { Console.WriteLine(result.Hits[i]); } } } } }