Package it.unibz.instasearch.indexing

Examples of it.unibz.instasearch.indexing.Field


      prevProposal = curText.substring(colIdx+1, commaIdx+1);
      colIdx = commaIdx;
    }
   
    String prefix = curText.substring(colIdx+1).toLowerCase(Locale.ENGLISH); // filtering text
    Field field = Field.getByName(fieldName);
   
    if( field == null )
      return EMPTY_PROPOSALS;
   
    proposalNames = getFieldProposals(field, prefix);
View Full Code Here


   
    Query returnQuery = query;
   
    if( query instanceof TermQuery ) {
      TermQuery termQuery = (TermQuery) query;
      Field field = Field.getByName(termQuery.getTerm().field());
     
      Query newQuery = queryVisitor.visit( termQuery, field );
     
      newQuery.setBoost( query.getBoost() );
      returnQuery = newQuery;
     
    } else if( query instanceof BooleanQuery ) {
      BooleanQuery boolQuery = (BooleanQuery) query;
      BooleanQuery newBoolQuery = queryVisitor.visit(boolQuery);
     
      for(BooleanClause boolClause: boolQuery.getClauses()) {
        if( ! queryVisitor.visit(boolClause) ) continue;
        Query newQuery = accept( boolClause.getQuery(), queryVisitor );
        boolClause.setQuery( newQuery );
      }
     
      newBoolQuery.setBoost( boolQuery.getBoost() );
      newBoolQuery.setMinimumNumberShouldMatch(boolQuery.getMinimumNumberShouldMatch());
     
      returnQuery = newBoolQuery;
    }
    else if( query instanceof FilteredQuery ) {
      FilteredQuery fq = (FilteredQuery) query;
      Query newQuery = accept(fq.getQuery(), queryVisitor);
     
      if( newQuery != fq.getQuery() )
      {
        FilteredQuery newFq = new FilteredQuery(fq.getQuery(), fq.getFilter());
        newFq.setBoost( fq.getBoost() );

        returnQuery = newFq;
      }
    }
    else if( query instanceof PhraseQuery ) {
      PhraseQuery phraseQuery = (PhraseQuery) query;
     
      returnQuery = queryVisitor.visit(phraseQuery);
     
    } else if( query instanceof WildcardQuery ) {
      WildcardQuery wildcardQuery = (WildcardQuery) query;
      Field field = Field.getByName(wildcardQuery.getTerm().field());
     
      Query newQuery = queryVisitor.visit( wildcardQuery, field );
     
      newQuery.setBoost( query.getBoost() );
      returnQuery = newQuery;
     
    } else if( query instanceof PrefixQuery ) {
      PrefixQuery prefixQuery = (PrefixQuery) query;
      Field field = Field.getByName(prefixQuery.getPrefix().field());
     
      Query newQuery = queryVisitor.visit( prefixQuery, field );
     
      newQuery.setBoost( query.getBoost() );
      returnQuery = newQuery;
View Full Code Here

  public Query visit(TermQuery termQuery, Field termField) {
   
    Term t = termQuery.getTerm();
   
    if( termField == null && aliases.containsKey(t.field()) ) {
      Field field = aliases.get(t.field());
      Term newTerm = field.createTerm(t.text());
      TermQuery newTermQuery = new TermQuery(newTerm);
      return newTermQuery;
    }
   
    return super.visit(termQuery, termField);
View Full Code Here

  public Query visit(PrefixQuery prefixQuery, Field termField) {
   
    Term t = prefixQuery.getPrefix();
   
    if( termField == null && aliases.containsKey(t.field()) ) {
      Field field = aliases.get(t.field());
      Term newTerm = field.createTerm(t.text());
      PrefixQuery newTermQuery = new PrefixQuery(newTerm);
      return newTermQuery;
    }
   
    return super.visit(prefixQuery, termField);
View Full Code Here

  public Query visit(WildcardQuery wildcardQuery, Field termField) {
   
    Term t = wildcardQuery.getTerm();
   
    if( termField == null && aliases.containsKey(t.field()) ) {
      Field field = aliases.get(t.field());
      Term newTerm = field.createTerm(t.text());
      WildcardQuery newTermQuery = new WildcardQuery(newTerm);
      return newTermQuery;
    }
   
    return super.visit(wildcardQuery, termField);
View Full Code Here

  {
    PhraseQuery newQuery = new PhraseQuery();
   
    for(Term term: phraseQuery.getTerms())
    {
      Field field = Field.getByName( term.field() );
      if( field != Field.CONTENTS )
        return phraseQuery;
     
      Term newTerm = Field.CONTENTS.createTerm( term.text().toLowerCase(Locale.ENGLISH) );
      newQuery.add( newTerm );
View Full Code Here

      if( clause.isProhibited() || !clause.isRequired() || !(clause.getQuery() instanceof TermQuery) )
        return super.visit(boolQuery); // only consider required terms
     
      TermQuery tq = (TermQuery) clause.getQuery();
     
      Field field = Field.getByName( tq.getTerm().field() );
      if( field != Field.CONTENTS )
        continue;
     
      phraseQuery.add(tq.getTerm());
    }
View Full Code Here

    {
      Object data = item.getData();
      if( data== null ) continue;
      if( data instanceof Field )
      {
        Field field = (Field) data;
        String value = item.getText();
       
        if( "".equals(value) ) continue;
       
        Set<String> values = filters.get(field);
View Full Code Here

  @Override
  public Query visit(PhraseQuery phraseQuery) {
    BooleanQuery bq = new BooleanQuery();
   
    for(Term t: phraseQuery.getTerms()) {
      Field f = Field.getByName(t.field());
     
      if( f != Field.CONTENTS )
        return phraseQuery;
     
      bq.add(new FuzzyQuery(t), Occur.SHOULD);
View Full Code Here

TOP

Related Classes of it.unibz.instasearch.indexing.Field

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.