Package com.flaptor.indextank.index.scorer.CategoryMaskManager

Examples of com.flaptor.indextank.index.scorer.CategoryMaskManager.CategoryInfo


      Map<String, String> results = Maps.newHashMap();
     
      Map<String, CategoryInfo> categoryInfos = maskManager.getCategoryInfos();
     
      for (Entry<String, CategoryInfo> entry : categoryInfos.entrySet()) {
        CategoryInfo categoryInfo = entry.getValue();
        int valueCode = data.getCategoryValue(categoryInfo.getBitmask());
        if (valueCode != 0) {
          results.put(entry.getKey(), categoryInfo.getValue(valueCode));
        }
      }
     
      return results;
    }
View Full Code Here


        throw new IllegalArgumentException("no data for document " + documentId);
      }
      Map<String, CategoryInfo> categoryInfos = maskManager.getCategoryInfos();
     
      for (Entry<String, CategoryInfo> entry : categoryInfos.entrySet()) {
        CategoryInfo categoryInfo = entry.getValue();
        int valueCode = data.getCategoryValue(categoryInfo.getBitmask());
        if (valueCode != 0) {
          collector.addCategoryValue(entry.getKey(), valueCode);
        }
      }
     
View Full Code Here

        // Only one value per category optimization
        int[] totalMask = new int[maxMaskSize];
        int[] totalValue = new int[maxMaskSize];
       
        for (Entry<String, String> entry : filteringFacets.entries()) {
          CategoryInfo categoryInfo = maskManager.getCategoryInfos().get(entry.getKey());

          if (categoryInfo == null) {
            isNoneMatchingFilter = true;
            return;
          }

          int[] bitmask = categoryInfo.getBitmask();
          Integer valueCode = categoryInfo.getValueCode(entry.getValue());
         
          if (valueCode == null) {
            isNoneMatchingFilter = true;
            return;
          }
         
          CategoryEncoder.encode(totalValue, 0, bitmask, valueCode);
         
          orArrays(bitmask, totalMask);
        }
       
        matchingCategories.add(new CategoryFilter(totalMask, new int[][] { totalValue } ));
      } else {
       
        for (String categoryKey : filteringFacets.keySet()) {
          CategoryInfo categoryInfo = maskManager.getCategoryInfos().get(categoryKey);
          if (categoryInfo == null) {
            isNoneMatchingFilter = true;
            return;
          }
          int[] bitmask = categoryInfo.getBitmask();

          Collection<String> values = filteringFacets.get(categoryKey);
          List<int[]> valuesBitmaps = Lists.newArrayList();
         
          for (String value : values) {
            Integer valueCode = categoryInfo.getValueCode(value);
            if (valueCode != null) {
              int[] encodedValue = CategoryEncoder.encode(new int[0], 0, bitmask, valueCode);
              valuesBitmaps.add(encodedValue);
            }
          }
View Full Code Here

      Map<String, Multiset<String>> results = Maps.newHashMap();
     
      for (Entry<String, int[]> entry : rawFacets.entrySet()) {
        Multiset<String> counts = HashMultiset.create();
        String category = entry.getKey();
        CategoryInfo categoryInfo = maskManager.getCategoryInfos().get(category);         
        int[] rawCounts = entry.getValue();
        for (int i = 0; i < rawCounts.length; i++) {
          String value = categoryInfo.getValue(i+1);
          counts.add(value, rawCounts[i]);
        }
        results.put(category, counts);
      }
     
View Full Code Here

TOP

Related Classes of com.flaptor.indextank.index.scorer.CategoryMaskManager.CategoryInfo

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.