Package org.apache.lucene.search

Examples of org.apache.lucene.search.DuplicateFilter


    List<String> result = new ArrayList<String>();
    if(query.startsWith("/")){
      String[] levels = StringUtils.splitPreserveAllTokens(query, "/");
      int levelSize = levels.length-2;
      String q = makeHierachyQuery(levels);
      DuplicateFilter filter = null;
      filter = new DuplicateFilter(LEVEL+levelSize);
      filter.setKeepMode(DuplicateFilter.KM_USE_FIRST_OCCURRENCE);
      filter.setProcessingMode(DuplicateFilter.PM_FULL_VALIDATION);
      TopScoreDocCollector collector = LuceneSupport.firstSearch(count,filter,q);
      ScoreDoc[] sds = collector.topDocs().scoreDocs;
//      System.out.println("***************"+count+","+q+","+sds.length);
      convertScoreDoc2HSuggestions(result,sds,levels.length-1);
    }else{
 
View Full Code Here


public class DuplicateFilterBuilder implements FilterBuilder {
 

  public Filter getFilter(Element e) throws ParserException {
        String fieldName=DOMUtils.getAttributeWithInheritanceOrFail(e,"fieldName");
    DuplicateFilter df=new DuplicateFilter(fieldName);
    String keepMode=DOMUtils.getAttribute(e,"keepMode","first");
    if(keepMode.equalsIgnoreCase("first"))
    {
      df.setKeepMode(DuplicateFilter.KM_USE_FIRST_OCCURRENCE);
    }
    else
      if(keepMode.equalsIgnoreCase("last"))
      {
        df.setKeepMode(DuplicateFilter.KM_USE_LAST_OCCURRENCE);
      }
      else
      {
        throw new ParserException("Illegal keepMode attribute in DuplicateFilter:"+keepMode);
      }
    String processingMode=DOMUtils.getAttribute(e,"processingMode","full");
    if(processingMode.equalsIgnoreCase("full"))
    {
      df.setProcessingMode(DuplicateFilter.PM_FULL_VALIDATION);
    }
    else
      if(processingMode.equalsIgnoreCase("fast"))
      {
        df.setProcessingMode(DuplicateFilter.PM_FAST_INVALIDATION);
      }
      else
      {
        throw new ParserException("Illegal processingMode attribute in DuplicateFilter:"+processingMode);
      }
View Full Code Here

public class DuplicateFilterBuilder implements FilterBuilder {
 

  public Filter getFilter(Element e) throws ParserException {
        String fieldName=DOMUtils.getAttributeWithInheritanceOrFail(e,"fieldName");
    DuplicateFilter df=new DuplicateFilter(fieldName);
    String keepMode=DOMUtils.getAttribute(e,"keepMode","first");
    if(keepMode.equalsIgnoreCase("first"))
    {
      df.setKeepMode(DuplicateFilter.KM_USE_FIRST_OCCURRENCE);
    }
    else
      if(keepMode.equalsIgnoreCase("last"))
      {
        df.setKeepMode(DuplicateFilter.KM_USE_LAST_OCCURRENCE);
      }
      else
      {
        throw new ParserException("Illegal keepMode attribute in DuplicateFilter:"+keepMode);
      }
    String processingMode=DOMUtils.getAttribute(e,"processingMode","full");
    if(processingMode.equalsIgnoreCase("full"))
    {
      df.setProcessingMode(DuplicateFilter.PM_FULL_VALIDATION);
    }
    else
      if(processingMode.equalsIgnoreCase("fast"))
      {
        df.setProcessingMode(DuplicateFilter.PM_FAST_INVALIDATION);
      }
      else
      {
        throw new ParserException("Illegal processingMode attribute in DuplicateFilter:"+processingMode);
      }
View Full Code Here

public class DuplicateFilterBuilder implements FilterBuilder {
 

  public Filter getFilter(Element e) throws ParserException {
        String fieldName=DOMUtils.getAttributeWithInheritanceOrFail(e,"fieldName");
    DuplicateFilter df=new DuplicateFilter(fieldName);
    String keepMode=DOMUtils.getAttribute(e,"keepMode","first");
    if(keepMode.equalsIgnoreCase("first"))
    {
      df.setKeepMode(DuplicateFilter.KM_USE_FIRST_OCCURRENCE);
    }
    else
      if(keepMode.equalsIgnoreCase("last"))
      {
        df.setKeepMode(DuplicateFilter.KM_USE_LAST_OCCURRENCE);
      }
      else
      {
        throw new ParserException("Illegal keepMode attribute in DuplicateFilter:"+keepMode);
      }
    String processingMode=DOMUtils.getAttribute(e,"processingMode","full");
    if(processingMode.equalsIgnoreCase("full"))
    {
      df.setProcessingMode(DuplicateFilter.PM_FULL_VALIDATION);
    }
    else
      if(processingMode.equalsIgnoreCase("fast"))
      {
        df.setProcessingMode(DuplicateFilter.PM_FAST_INVALIDATION);
      }
      else
      {
        throw new ParserException("Illegal processingMode attribute in DuplicateFilter:"+processingMode);
      }
View Full Code Here

     *
     * @param property
     * @return
     */
    public Q distinct(Path<?> property) {
        return filter(new DuplicateFilter(serializer.toField(property)));
    }
View Full Code Here

        assertEquals(3, query.distinct(year).list().size());
    }

    @Test
    public void List_With_Filter() {
        Filter filter = new DuplicateFilter("year");
        assertEquals(4, query.list().size());
        assertEquals(3, query.filter(filter).list().size());
    }
View Full Code Here

public class DuplicateFilterBuilder implements FilterBuilder {
 

  public Filter getFilter(Element e) throws ParserException {
        String fieldName=DOMUtils.getAttributeWithInheritanceOrFail(e,"fieldName");
    DuplicateFilter df=new DuplicateFilter(fieldName);
    String keepMode=DOMUtils.getAttribute(e,"keepMode","first");
    if(keepMode.equalsIgnoreCase("first"))
    {
      df.setKeepMode(DuplicateFilter.KM_USE_FIRST_OCCURRENCE);
    }
    else
      if(keepMode.equalsIgnoreCase("last"))
      {
        df.setKeepMode(DuplicateFilter.KM_USE_LAST_OCCURRENCE);
      }
      else
      {
        throw new ParserException("Illegal keepMode attribute in DuplicateFilter:"+keepMode);
      }
    String processingMode=DOMUtils.getAttribute(e,"processingMode","full");
    if(processingMode.equalsIgnoreCase("full"))
    {
      df.setProcessingMode(DuplicateFilter.PM_FULL_VALIDATION);
    }
    else
      if(processingMode.equalsIgnoreCase("fast"))
      {
        df.setProcessingMode(DuplicateFilter.PM_FAST_INVALIDATION);
      }
      else
      {
        throw new ParserException("Illegal processingMode attribute in DuplicateFilter:"+processingMode);
      }
View Full Code Here

TOP

Related Classes of org.apache.lucene.search.DuplicateFilter

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.