Package org.apache.lucene.facet.search.params

Examples of org.apache.lucene.facet.search.params.FacetSearchParams


    for (int partitionSize : partitionSizes) {
      initIndex(partitionSize);

      // do different facet counts and compare to control
      CategoryPath path = new CategoryPath("a", "b");
      FacetSearchParams sParams = getFacetedSearchParams(partitionSize);
      sParams.addFacetRequest(new CountFacetRequest(path, Integer.MAX_VALUE));

      FacetsCollector fc = new FacetsCollector(sParams, indexReader, taxoReader) {
        @Override
        protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
          FacetsAccumulator fa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
          fa.setComplementThreshold(FacetsAccumulator.DISABLE_COMPLEMENT);
          return fa;
        }
      };
     
      searcher.search(new MatchAllDocsQuery(), fc);
      long start = System.currentTimeMillis();
      List<FacetResult> results = fc.getFacetResults();
      long end = System.currentTimeMillis();

      if (VERBOSE) {
        System.out.println("Time: " + (end - start));
      }

      assertEquals("Should only be one result as there's only one request", 1, results.size());
      FacetResult res = results.get(0);
      assertEquals(path + " should only have 4 desendants", 4, res.getNumValidDescendants());

      // As a control base results, ask for top-1000 results
      FacetSearchParams sParams2 = getFacetedSearchParams(partitionSize);
      sParams2.addFacetRequest(new CountFacetRequest(path, Integer.MAX_VALUE));

      FacetsCollector fc2 = new FacetsCollector(sParams2, indexReader, taxoReader) {
        @Override
        protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
          FacetsAccumulator fa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
View Full Code Here


  public void testSimpleSearchForNonexistentFacet() throws Exception {
    for (int partitionSize : partitionSizes) {
      initIndex(partitionSize);

      CategoryPath path = new CategoryPath("Miau Hattulla");
      FacetSearchParams sParams = getFacetedSearchParams(partitionSize);
      sParams.addFacetRequest(new CountFacetRequest(path, 10));

      FacetsCollector fc = new FacetsCollector(sParams, indexReader, taxoReader);
     
      searcher.search(new MatchAllDocsQuery(), fc);
     
View Full Code Here

  protected FacetSearchParams searchParamsWithRequests(int numResults) {
    return searchParamsWithRequests(numResults, Integer.MAX_VALUE);
  }
 
  protected FacetSearchParams searchParamsWithRequests(int numResults, int partitionSize) {
    FacetSearchParams res = getFacetedSearchParams(partitionSize);
    res.addFacetRequest(new CountFacetRequest(new CategoryPath("a"), numResults));
    res.addFacetRequest(new CountFacetRequest(new CategoryPath("a", "1"), numResults));
    res.addFacetRequest(new CountFacetRequest(new CategoryPath("a", "1", "10"), numResults));
    res.addFacetRequest(new CountFacetRequest(new CategoryPath("a", "2""26", "267"), numResults));
    return res;
  }
View Full Code Here

   
    // docids collector for guiding facets accumulation (scoring disabled)
    ScoredDocIdCollector docIdsCollecor = ScoredDocIdCollector.create(indexReader.maxDoc(), false);
   
    // Faceted search parameters indicate which facets are we interested in
    FacetSearchParams facetSearchParams = new FacetSearchParams();
    facetSearchParams.addFacetRequest(new CountFacetRequest(new CategoryPath("root","a"), 10));
   
    // search, into both collectors. note: in case only facets accumulation
    // is required, the topDocCollector part can be totally discarded
    searcher.search(q, MultiCollector.wrap(topDocsCollector, docIdsCollecor));
       
View Full Code Here

   
  }
 
  @Override
  protected FacetSearchParams getFacetedSearchParams() {
    FacetSearchParams res = super.getFacetedSearchParams();
    res.addFacetRequest(new CountFacetRequest(new CategoryPath("root","a"), 10));
    return res;
  }
View Full Code Here

 
  private void doTest(boolean withCache, boolean plantWrongData) throws IOException, Exception {
    Map<CategoryPath,Integer> truth = facetCountsTruth();
    CategoryPath cp = (CategoryPath) truth.keySet().toArray()[0]; // any category path will do for this test
    CountFacetRequest frq = new CountFacetRequest(cp, 10);
    FacetSearchParams sParams = getFacetedSearchParams();
    sParams.addFacetRequest(frq);
    if (withCache) {
      //let's use a cached cl data
      FacetIndexingParams iparams = sParams.getFacetIndexingParams();
      CategoryListParams clp = new CategoryListParams(); // default term ok as only single list
      CategoryListCache clCache = new CategoryListCache();
      clCache.loadAndRegister(clp, indexReader, taxoReader, iparams);
      if (plantWrongData) {
        // let's mess up the cached data and then expect a wrong result...
        messCachedData(clCache, clp);
      }
      sParams.setClCache(clCache);
    }
    FacetsCollector fc = new FacetsCollector(sParams, indexReader, taxoReader);
    searcher.search(new MatchAllDocsQuery(), fc);
    List<FacetResult> res = fc.getFacetResults();
    try {
View Full Code Here

  /**
   * Faceted Search Params with specified partition size.
   * @see #getFacetedSearchParams()
   */
  protected FacetSearchParams getFacetedSearchParams(int partitionSize) {
    FacetSearchParams res = new FacetSearchParams(getFacetIndexingParams(partitionSize));
    return res;
  }
View Full Code Here

      int k, String... facetNames) throws IOException,
      IllegalAccessException, InstantiationException {
   
    Collector[] collectors = new Collector[2];
   
    FacetSearchParams facetSearchParams = new FacetSearchParams(iParams);
    Collection<FacetRequest> fRequests = new ArrayList<FacetRequest>();
    for (String facetName : facetNames) {
      CategoryPath cp = new CategoryPath(facetName);
      FacetRequest fq = new CountFacetRequest(cp, k);
      facetSearchParams.addFacetRequest(fq);
      fRequests.add(fq);
    }

    TopScoreDocCollector topDocsCollector = TopScoreDocCollector.create(
        searcher.getIndexReader().maxDoc(), true);
View Full Code Here

    if (indexingParams == null) {
      indexingParams = new DefaultFacetIndexingParams();
    }
   
    // Faceted search parameters indicate which facets are we interested in
    FacetSearchParams facetSearchParams = new FacetSearchParams(indexingParams);
   
    // Add the facet requests of interest to the search params
    for (FacetRequest frq : facetRequests) {
      facetSearchParams.addFacetRequest(frq);
    }

    FacetsCollector facetsCollector = new FacetsCollector(facetSearchParams, indexReader, taxoReader);

    // perform documents search and facets accumulation
View Full Code Here

   
    // docids collector for guiding facets accumulation (scoring disabled)
    ScoredDocIdCollector docIdsCollecor = ScoredDocIdCollector.create(indexReader.maxDoc(), false);
   
    // Faceted search parameters indicate which facets are we interested in
    FacetSearchParams facetSearchParams = new FacetSearchParams();
    facetSearchParams.addFacetRequest(new CountFacetRequest(new CategoryPath("root","a"), 10));
   
    // search, into both collectors. note: in case only facets accumulation
    // is required, the topDocCollector part can be totally discarded
    searcher.search(q, MultiCollector.wrap(topDocsCollector, docIdsCollecor));
       
View Full Code Here

TOP

Related Classes of org.apache.lucene.facet.search.params.FacetSearchParams

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.