Package com.browseengine.bobo.api

Examples of com.browseengine.bobo.api.BoboBrowser


    BrowseRequest br = new BrowseRequest();
    br.setCount(10);
    br.setOffset(0);
    br.setSort(new SortField[] { new SortField("date", SortField.Type.CUSTOM, false) });
    BrowseResult result = null;
    BoboBrowser boboBrowser = null;
    SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy/MM/dd");
    try {
      boboBrowser = newBrowser();

      result = boboBrowser.browse(br);
      assertEquals(7, result.getNumHits());

      BrowseHit hit = result.getHits()[0];
      assertEquals(0, hit.getDocid());
      Object lowDate = hit.getRawField("date");
      Date date = dateFormatter.parse("2000/01/01");
      assertTrue(lowDate.equals(date.getTime()));

      hit = result.getHits()[6];
      assertEquals(5, hit.getDocid());
      Object highDate = hit.getRawField("date");
      date = dateFormatter.parse("2007/08/01");
      assertTrue(highDate.equals(date.getTime()));
    } catch (BrowseException e) {
      e.printStackTrace();
      fail(e.getMessage());
    } catch (IOException ioe) {
      fail(ioe.getMessage());
    } finally {
      if (boboBrowser != null) {
        try {
          if (result != null) result.close();
          boboBrowser.close();
        } catch (IOException e) {
          fail(e.getMessage());
        }
      }
    }
View Full Code Here


    try {
      List<FacetHandler<?>> facetHandlers = new ArrayList<FacetHandler<?>>();
      facetHandlers.add(new SimpleFacetHandler("id"));

      BoboMultiReader reader = BoboMultiReader.getInstance(srcReader, facetHandlers);
      BoboBrowser browser = new BoboBrowser(reader);

      BrowseRequest browseRequest = new BrowseRequest();
      browseRequest.setCount(10);
      browseRequest.setOffset(0);
      browseRequest.addSortField(new SortField("date", SortField.Type.STRING));
View Full Code Here

    doTest(br, 7, null, new String[] { "5", "4", "6", "3", "2", "1", "7" });

    // now test with serialization

    BrowseResult result = null;
    BoboBrowser boboBrowser = null;
    try {
      boboBrowser = newBrowser();

      result = boboBrowser.browse(br);

      ByteArrayOutputStream bout = new ByteArrayOutputStream();
      ObjectOutputStream oout = new ObjectOutputStream(bout);
      oout.writeObject(result);
      oout.flush();
      byte[] serialized = bout.toByteArray();

      ByteArrayInputStream bin = new ByteArrayInputStream(serialized);
      ObjectInputStream oin = new ObjectInputStream(bin);

      result = (BrowseResult) oin.readObject();

      doTest(result, br, 7, null, new String[] { "5", "4", "6", "3", "2", "1", "7" });

    } catch (BrowseException e) {
      e.printStackTrace();
      fail(e.getMessage());
    } catch (Exception ioe) {
      ioe.printStackTrace();
      fail(ioe.getMessage());
    } finally {
      if (boboBrowser != null) {
        try {
          if (result != null) result.close();
          boboBrowser.close();
        } catch (IOException e) {
          fail(e.getMessage());
        }
      }
    }
View Full Code Here

    BrowseRequest br = new BrowseRequest();
    br.setCount(10);
    br.setOffset(0);
    br.setFacetSpec("number", new FacetSpec());

    BoboBrowser browser = newBrowser();

    BrowseResult res = browser.browse(br);
    FacetAccessible facetAccessor = res.getFacetAccessor("number");
    BrowseFacet facet = facetAccessor.getFacet("5");

    assertEquals(facet.getValue(), "0005");
    assertEquals(facet.getFacetValueHitCount(), 1);
View Full Code Here

      sel = new BrowseSelection("color");
      sel.addValue("red");
      br.addSelection(sel);
      answer = new HashMap<String, List<BrowseFacet>>();

      doTest(new BoboBrowser(reader), br, 1, answer, new String[] { "7" });
    } catch (IOException ioe) {
      fail(ioe.getMessage());
    } finally {
      if (reader != null) {
        try {
View Full Code Here

    FacetSpec dateSpec = new FacetSpec();
    dateSpec.setExpandSelection(true);
    browseRequest.setFacetSpec("date", dateSpec);

    BoboBrowser boboBrowser = newBrowser();

    browseRequest
        .setSort(new SortField[] { new SortField("compactnum", SortField.Type.CUSTOM, true) });

    MultiBoboBrowser multiBoboBrowser = new MultiBoboBrowser(new Browsable[] { boboBrowser,
View Full Code Here

    BrowseRequest br = new BrowseRequest();
    br.setQuery(q);
    br.setOffset(0);
    br.setCount(10);
    br.setSort(new SortField[] { SortField.FIELD_SCORE });
    BoboBrowser b = newBrowser();

    BrowseResult r = b.browse(br);

    doTest(r, br, 7, null, new String[] { "7", "2", "1", "3", "4", "5", "6" });
  }
View Full Code Here

    doTest(r, br, 7, null, new String[] { "7", "2", "1", "3", "4", "5", "6" });
  }

  public void testRuntimeFilteredDateRange() throws Exception {
    BoboBrowser browser = newBrowser();
    String[] ranges = new String[] { "[2001/01/01 TO 2001/12/30]", "[2007/01/01 TO 2007/12/30]" };
    FilteredRangeFacetHandler handler = new FilteredRangeFacetHandler("filtered_date", "date",
        Arrays.asList(ranges));
    browser.setFacetHandler(handler);

    BrowseRequest req = new BrowseRequest();
    req.setFacetSpec("filtered_date", new FacetSpec());
    HashMap<String, List<BrowseFacet>> answer = new HashMap<String, List<BrowseFacet>>();
    answer.put(
View Full Code Here

      idxWriter.commit();
    }
    idxWriter.close();
    DirectoryReader idxReader = DirectoryReader.open(idxDir);
    BoboMultiReader boboReader = BoboMultiReader.getInstance(idxReader, facetHandlers);
    BoboBrowser browser = new BoboBrowser(boboReader);
    List<String> ranges = new ArrayList<String>();
    ranges.add("000000001");
    ranges.add("000010000");// one hour
    ranges.add("000020000");// two hours
    ranges.add("000030000");
    ranges.add("000040000");
    ranges.add("001000000");// one day
    ranges.add("002000000");// two days
    ranges.add("003000000");
    ranges.add("004000000");
    FacetHandler<?> facetHandler = new DynamicTimeRangeFacetHandler("timerange", "timeinmillis",
        now, ranges);
    browser.setFacetHandler(facetHandler);
    //
    BrowseRequest req = new BrowseRequest();
    BrowseFacet facet = null;
    FacetSpec facetSpec = new FacetSpec();
    req.setFacetSpec("timerange", facetSpec);
    BrowseResult result = browser.browse(req);
    FacetAccessible facetholder = result.getFacetAccessor("timerange");
    List<BrowseFacet> facets = facetholder.getFacets();
    facet = facets.get(0);
    assertEquals("order by value", "000000001", facet.getValue());
    assertEquals("order by value", 1, facet.getFacetValueHitCount());
    facet = facets.get(1);
    assertEquals("order by value", "000010000", facet.getValue());
    assertEquals("order by value", 1, facet.getFacetValueHitCount());
    facet = facets.get(5);
    assertEquals("order by value", "001000000", facet.getValue());
    assertEquals("order by value", 20, facet.getFacetValueHitCount());
    facet = facets.get(7);
    assertEquals("order by value", "003000000", facet.getValue());
    assertEquals("order by value", 3, facet.getFacetValueHitCount());
    //
    req = new BrowseRequest();
    facetSpec = new FacetSpec();
    facetSpec.setMinHitCount(0);
    facetSpec.setOrderBy(FacetSortSpec.OrderHitsDesc);
    req.setFacetSpec("timerange", facetSpec);
    result = browser.browse(req);
    facetholder = result.getFacetAccessor("timerange");
    facets = facetholder.getFacets();
    facet = facets.get(0);
    assertEquals("", "002000000", facet.getValue());
    assertEquals("", 25, facet.getFacetValueHitCount());
    facet = facets.get(1);
    assertEquals("", "001000000", facet.getValue());
    assertEquals("", 20, facet.getFacetValueHitCount());
    facet = facets.get(2);
    assertEquals("", "003000000", facet.getValue());
    assertEquals("", 3, facet.getFacetValueHitCount());
    facet = facets.get(8);
    assertEquals("minCount=0", "004000000", facet.getValue());
    assertEquals("minCount=0", 0, facet.getFacetValueHitCount());
    //
    req = new BrowseRequest();
    facetSpec = new FacetSpec();
    BrowseSelection sel = new BrowseSelection("timerange");
    sel.addValue("001000000");
    req.addSelection(sel);
    facetSpec.setExpandSelection(true);
    req.setFacetSpec("timerange", facetSpec);
    result = browser.browse(req);
    facetholder = result.getFacetAccessor("timerange");
    facets = facetholder.getFacets();
    facet = facets.get(0);
    assertEquals("", "000000001", facet.getValue());
    assertEquals("", 1, facet.getFacetValueHitCount());
    facet = facets.get(6);
    assertEquals("", "002000000", facet.getValue());
    assertEquals("", 25, facet.getFacetValueHitCount());
    facet = facets.get(7);
    assertEquals("", "003000000", facet.getValue());
    assertEquals("", 3, facet.getFacetValueHitCount());
    //
    req = new BrowseRequest();
    facetSpec = new FacetSpec();
    sel = new BrowseSelection("timerange");
    sel.addValue("001000000");
    sel.addValue("003000000");
    sel.addValue("004000000");
    req.addSelection(sel);
    facetSpec.setExpandSelection(false);
    req.setFacetSpec("timerange", facetSpec);
    result = browser.browse(req);
    facetholder = result.getFacetAccessor("timerange");
    facet = facetholder.getFacet("001000000");
    assertEquals("001000000", 20, facet.getFacetValueHitCount());
    facet = facetholder.getFacet("003000000");
    assertEquals("003000000", 3, facet.getFacetValueHitCount());
View Full Code Here

  @SuppressWarnings("serial")
  public BrowseResult browse(BrowseRequest req) throws BrowseException {
    BrowseResult result=BrowseService.EMPTY_RESULT;
    if (req.getOffset() < 0) throw new BrowseException("Invalid offset: "+req.getOffset());
    if (_reader!=null){
      BoboBrowser browser;
      try
      {
        browser = new BoboBrowser(_reader);
      }
      catch(IOException e)
      {
        throw new BrowseException("failed to create BoboBrowser", e);
      }
      result=browser.browse(req);     
    }       
    return result;
  }
View Full Code Here

TOP

Related Classes of com.browseengine.bobo.api.BoboBrowser

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.