Package cleo.search.selector

Examples of cleo.search.selector.SelectorContext


    int numResultHits = 0;
   
    int[] elemIds = connStrengths[ArrayStoreWeights.ELEMID_SUBARRAY_INDEX];
    int[] weights = connStrengths[ArrayStoreWeights.WEIGHT_SUBARRAY_INDEX];
   
    SelectorContext ctx = new SelectorContext();
   
    for(int cnt = elemIds.length; i < cnt; i++) {
      int elemId = elemIds[i];
     
      if(elementStore.hasIndex(elemId) && (filterStore.get(elemId) & filter) == filter) {
        numFilterHits++;
       
        if(!uniqIdSet.contains(elemId)) {
          uniqIdSet.add(elemId);
         
          E elem = getElementStore().getElement(elemId);
          if(elem != null) {
            if(selector.select(elem, ctx)) {
              numResultHits++;
             
              double hitScore = ctx.getScore() * (weights[i] + 1);
              collector.add(elem, hitScore, getName(), Proximity.DEGREE_1);
              if(collector.canStop()) {
                i++;
                break;
              }
            }
           
            ctx.clear();
          }
        }
      }
     
      if(i % 100 == 0) {
View Full Code Here


    int numBrowseHits = 0;
    int numFilterHits = 0;
    int numResultHits = 0;
   
    Weight w = new Weight(0, 0);
    SelectorContext ctx = new SelectorContext();
   
    while(connStrengthIterator.hasNext()) {
      numBrowseHits++;
      connStrengthIterator.next(w);
      int elemId = w.elementId;
     
      if(elementStore.hasIndex(elemId) && (filterStore.get(elemId) & filter) == filter) {
        numFilterHits++;
       
        if(!uniqIdSet.contains(elemId)) {
          uniqIdSet.add(elemId);
         
          E elem = getElementStore().getElement(elemId);
          if(elem != null) {
            if(selector.select(elem, ctx)) {
              numResultHits++;
             
              double hitScore = ctx.getScore() * (weightAdjuster.adjust(connStrengthInherited, w.elementWeight) + 1);
              collector.add(elem, hitScore, getName(), Proximity.DEGREE_2);
              if(collector.canStop()) {
                break;
              }
            }
           
            ctx.clear();
          }
        }
      }
     
      if(numBrowseHits % 100 == 0) {
View Full Code Here

  public void testPrefixSelector() {
    Element elem = new SimpleElement(1);
    elem.setTerms(new String[] {"Bloom", "filter", "technique"});
    elem.setTimestamp(System.currentTimeMillis());
   
    SelectorContext ctx = new SelectorContext();
   
    Selector<Element> selector1 = new PrefixSelector<Element>();
    assertTrue(selector1.select(elem, ctx));
   
    Selector<Element> selector2 = new PrefixSelector<Element>("Bloom");
View Full Code Here

   
    Element elem3 = new SimpleElement(1);
    elem3.setTerms(new String[] {"ibm", "global", "business", "services"});
    elem3.setTimestamp(System.currentTimeMillis());
   
    SelectorContext ctx = new SelectorContext();
    Selector<Element> selector;
   
    // First selector
    selector = new ScoredPrefixSelector<Element>("ibm");
    double score11, score12, score13;
   
    ctx.clear();
    selector.select(elem1, ctx);
    score11 = ctx.getScore();
   
    ctx.clear();
    selector.select(elem2, ctx);
    score12 = ctx.getScore();
   
    ctx.clear();
    selector.select(elem3, ctx);
    score13 = ctx.getScore();
   
    assertTrue(score11 > score12);
    assertTrue(score12 > score13);
   
    // Second selector
    selector = new ScoredPrefixSelector<Element>("service");
    double score21, score22, score23;
   
    ctx.clear();
    selector.select(elem1, ctx);
    score21 = ctx.getScore();
   
    ctx.clear();
    selector.select(elem2, ctx);
    score22 = ctx.getScore();
   
    ctx.clear();
    selector.select(elem3, ctx);
    score23 = ctx.getScore();
   
    assertTrue(score21 > score22);
    assertTrue(score22 > score23);
   
    // Third selector
    selector = new ScoredPrefixSelector<Element>("ibm", "service");
    double score31, score32, score33;
   
    ctx.clear();
    selector.select(elem1, ctx);
    score31 = ctx.getScore();
   
    ctx.clear();
    selector.select(elem2, ctx);
    score32 = ctx.getScore();
   
    ctx.clear();
    selector.select(elem3, ctx);
    score33 = ctx.getScore();
   
    assertTrue(score31 > score32);
    assertTrue(score32 > score33);
   
    // check query "ibm" v.s. "service"
View Full Code Here

   
    Element elem3 = new SimpleElement(1);
    elem3.setTerms(new String[] {"ibm", "global", "business", "services"});
    elem3.setTimestamp(System.currentTimeMillis());
   
    SelectorContext ctx = new SelectorContext();
    Selector<Element> selector;
    double score;
   
    selector = new ScoredPrefixSelector<Element>("ibm", "services");
    ctx.clear();
    selector.select(elem1, ctx);
    score = ctx.getScore();
    assertEquals(1.0, score);
   
    selector = new ScoredPrefixSelector<Element>("ibm", "global", "services");
    ctx.clear();
    selector.select(elem2, ctx);
    score = ctx.getScore();
    assertEquals(1.0, score);
   
    selector = new ScoredPrefixSelector<Element>("ibm", "global", "business", "services");
    ctx.clear();
    selector.select(elem3, ctx);
    score = ctx.getScore();
    assertEquals(1.0, score);
  }
View Full Code Here

  public void testScoredPrefixSelectorDistance() {
    Element elem = new SimpleElement(1);
    elem.setTerms(new String[] {"ibm", "global", "business", "services"});
    elem.setTimestamp(System.currentTimeMillis());
   
    SelectorContext ctx = new SelectorContext();
    Selector<Element> selector1, selector2, selector3;
    double score1, score2, score3;
   
    selector1 = new ScoredPrefixSelector<Element>("ibm", "global");
    selector2 = new ScoredPrefixSelector<Element>("ibm", "services");
    selector3 = new ScoredPrefixSelector<Element>("global", "services");
   
    ctx.clear();
    selector1.select(elem, ctx);
    score1 = ctx.getScore();
   
    ctx.clear();
    selector2.select(elem, ctx);
    score2 = ctx.getScore();
   
    ctx.clear();
    selector3.select(elem, ctx);
    score3 = ctx.getScore();
   
    assertTrue(score1 > score2);
    assertTrue(score1 > score3);
    assertTrue(score2 == score3);
  }
View Full Code Here

  public void testScoredPrefixSelectorOrdering() {
    Element elem = new SimpleElement(1);
    elem.setTerms(new String[] {"ibm", "global", "business", "services"});
    elem.setTimestamp(System.currentTimeMillis());
   
    SelectorContext ctx = new SelectorContext();
    Selector<Element> selector1, selector2;
    double score1, score2;
   
    // case 1
    selector1 = new ScoredPrefixSelector<Element>("ibm", "global");
    selector2 = new ScoredPrefixSelector<Element>("global", "ibm");
   
    ctx.clear();
    selector1.select(elem, ctx);
    score1 = ctx.getScore();
   
    ctx.clear();
    selector2.select(elem, ctx);
    score2 = ctx.getScore();
   
    assertTrue(score1 > score2);
   
    // case 2
    selector1 = new ScoredPrefixSelector<Element>("global", "business");
    selector2 = new ScoredPrefixSelector<Element>("business", "global");
   
    ctx.clear();
    selector1.select(elem, ctx);
    score1 = ctx.getScore();
   
    ctx.clear();
    selector2.select(elem, ctx);
    score2 = ctx.getScore();
   
    assertTrue(score1 > score2);
   
    // case 3
    selector1 = new ScoredPrefixSelector<Element>("global", "services");
    selector2 = new ScoredPrefixSelector<Element>("services", "global");
   
    ctx.clear();
    selector1.select(elem, ctx);
    score1 = ctx.getScore();
   
    ctx.clear();
    selector2.select(elem, ctx);
    score2 = ctx.getScore();
   
    assertTrue(score1 > score2);
   
    // case 4
    selector1 = new ScoredPrefixSelector<Element>("ibm", "services");
    selector2 = new ScoredPrefixSelector<Element>("services", "ibm");
   
    ctx.clear();
    selector1.select(elem, ctx);
    score1 = ctx.getScore();
   
    ctx.clear();
    selector2.select(elem, ctx);
    score2 = ctx.getScore();
   
    assertTrue(score1 > score2);
   
    // case 5
    selector1 = new ScoredPrefixSelector<Element>("ibm", "global", "business", "services");
    selector2 = new ScoredPrefixSelector<Element>("ibm", "business", "global", "services");
   
    ctx.clear();
    selector1.select(elem, ctx);
    score1 = ctx.getScore();
   
    ctx.clear();
    selector2.select(elem, ctx);
    score2 = ctx.getScore();
   
    assertTrue(score1 > score2);
  }
View Full Code Here

   
    Element elem3 = new SimpleElement(1);
    elem3.setTerms(new String[] {"zyken"});
    elem3.setTimestamp(System.currentTimeMillis());
   
    SelectorContext ctx = new SelectorContext();
    Selector<Element> selector = new ScoredPrefixSelector<Element>("zy");
   
    double score1, score2, score3;
   
    ctx.clear();
    selector.select(elem1, ctx);
    score1 = ctx.getScore();
   
    ctx.clear();
    selector.select(elem2, ctx);
    score2 = ctx.getScore();
   
    ctx.clear();
    selector.select(elem3, ctx);
    score3 = ctx.getScore();
   
    assertEquals(score1, score2);
    assertEquals(score2, score3);
   
    Hit<Element> s1 = new ElementHit<Element>(elem1, 0);
View Full Code Here

  public void testScoredElementSelector() {
    double score;
    Random rand = new Random();
    String[] terms = new String[] {"ibm", "global", "consulting", "services"};
   
    SelectorContext ctx = new SelectorContext();
    Selector<Element> selector = new ScoredElementSelector<Element>("ibm", "serv");
   
    int cnt = rand.nextInt(100) + 10;
    ArrayList<Element> elemList = new ArrayList<Element>(cnt);
    ArrayList<Hit<Element>> hitList = new ArrayList<Hit<Element>>(cnt);
   
    for(int i = 0; i < cnt; i++) {
      Element elem = new SimpleElement(i);
      elem.setTerms(terms);
      elem.setScore(rand.nextFloat());
      elem.setTimestamp(System.currentTimeMillis());
      elemList.add(elem);
     
      ctx.clear();
      selector.select(elem, ctx);
      hitList.add(new ElementHit<Element>(elem, ctx.getScore()));
    }
   
    Collections.sort(elemList, new ElementScoreComparator());
   
    score = 0;
View Full Code Here

  public void testStringPrefixSelector() {
    Element elem = new SimpleElement(1);
    elem.setTerms(new String[] {"open", "source", "software", "systems"});
    elem.setTimestamp(System.currentTimeMillis());
   
    SelectorContext ctx = new SelectorContext();
   
    Selector<Element> selector = new StrictPrefixSelector<Element>("soft", "system");
    assertTrue(selector.select(elem, ctx));
   
    selector = new StrictPrefixSelector<Element>("open", "system");
View Full Code Here

TOP

Related Classes of cleo.search.selector.SelectorContext

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.