Package org.apache.lucene.search

Examples of org.apache.lucene.search.DisjunctionMaxQuery


    }
    final IndexReader indexReader = DirectoryReader.open(directory);
    try {
      assertEquals(1, indexReader.numDocs());
      final IndexSearcher indexSearcher = newSearcher(indexReader);
      final DisjunctionMaxQuery query = new DisjunctionMaxQuery(1);
      query.add(new SpanTermQuery(new Term(FIELD, "{fox}")));
      query.add(new SpanTermQuery(new Term(FIELD, "fox")));
      // final Query phraseQuery = new SpanNearQuery(new SpanQuery[] {
      // new SpanTermQuery(new Term(FIELD, "{fox}")),
      // new SpanTermQuery(new Term(FIELD, "fox")) }, 0, true);

      TopDocs hits = indexSearcher.search(query, 1);
View Full Code Here


        if( !clause.isProhibited() ) {
          flatten( applyParentBoost( clause.getQuery(), bq ), reader, flatQueries );
        }
      }
    } else if( sourceQuery instanceof DisjunctionMaxQuery ){
      DisjunctionMaxQuery dmq = (DisjunctionMaxQuery)sourceQuery;
      for( Query query : dmq ){
        flatten( applyParentBoost( query, dmq ), reader, flatQueries );
      }
    }
    else if( sourceQuery instanceof TermQuery ){
View Full Code Here

      @Override
      protected Analyzer getIndexAnalyzer(String field) {
        return analyzer;
      }
    };
    DisjunctionMaxQuery query = new DisjunctionMaxQuery(0);
    query.add(new WildcardQuery(new Term("body", "te*")));
    TopDocs topDocs = searcher.search(query, null, 10, Sort.INDEXORDER);
    assertEquals(2, topDocs.totalHits);
    String snippets[] = highlighter.highlight("body", query, searcher, topDocs);
    assertEquals(2, snippets.length);
    assertEquals("This is a <b>test</b>.", snippets[0]);
View Full Code Here

    }

    @Override
    protected boolean traverseOrQualifier(EOOrQualifier q) {
      NSArray<Query> queries = queriesForCurrent(q.qualifiers().count());
      DisjunctionMaxQuery query = new DisjunctionMaxQuery(queries, 0);
      _queries.addObject(query);
      return true;
    }
View Full Code Here

        ar.add(termQueryConstructor.doConstructQuery(json));
      }

      float tieBreakerMultiplier = (float) jsonQuery.optDouble(TIE_BREAKER_PARAM, .0);
      float boost = (float) jsonQuery.optDouble(BOOST_PARAM, 1.0);
      Query dmq = new DisjunctionMaxQuery(ar, tieBreakerMultiplier);
      dmq.setBoost(boost);

    return dmq;
  }
View Full Code Here

          return query;
        }

        if (use_dis_max)
        {
          Query query = new DisjunctionMaxQuery(queries, tie_breaker);
          query.setBoost((float)jsonQuery.optDouble(BOOST_PARAM, 1.0));
          return query;
        }
        else
        {
          BooleanQuery query = new BooleanQuery();
          if (AND_PARAM.equals(default_operator))
          {
            for (Query q : queries)
            {
              query.add(q, BooleanClause.Occur.MUST);
            }
          }
          else
          {
            for (Query q : queries)
            {
              query.add(q, BooleanClause.Occur.SHOULD);
            }
          }
          query.setBoost((float)jsonQuery.optDouble(BOOST_PARAM, 1.0));
          return query;
        }
      }

      synchronized(_qparser)
      {
        Query query = _qparser.parse(queryText);
        query.setBoost((float)jsonQuery.optDouble(BOOST_PARAM, 1.0));
        return query;
      }
    }
    catch (ParseException e) {
      throw new JSONException(e);
View Full Code Here

        if( !clause.isProhibited() )
          flatten( clause.getQuery(), reader, flatQueries );
      }
    }
    else if( sourceQuery instanceof DisjunctionMaxQuery ){
      DisjunctionMaxQuery dmq = (DisjunctionMaxQuery)sourceQuery;
      for( Query query : dmq ){
        flatten( query, reader, flatQueries );
      }
    }
    else if( sourceQuery instanceof TermQuery ){
View Full Code Here

            }
            if (queries.size() == 1) {
                return queries.get(0);
            }
            if (groupDismax) {
                return new DisjunctionMaxQuery(queries, tieBreaker);
            } else {
                final BooleanQuery booleanQuery = new BooleanQuery();
                for (Query query : queries) {
                    booleanQuery.add(query, BooleanClause.Occur.SHOULD);
                }
View Full Code Here

        if (queries.isEmpty()) {
            return null;
        }

        DisjunctionMaxQuery query = new DisjunctionMaxQuery(queries, tieBreaker);
        query.setBoost(boost);
        if (queryName != null) {
            parseContext.addNamedQuery(queryName, query);
        }
        return query;
    }
View Full Code Here

        if (fields != null) {
            if (fields.size() == 1) {
                return getFieldQuerySingle(fields.iterator().next(), queryText, quoted);
            }
            if (settings.useDisMax()) {
                DisjunctionMaxQuery disMaxQuery = new DisjunctionMaxQuery(settings.tieBreaker());
                boolean added = false;
                for (String mField : fields) {
                    Query q = getFieldQuerySingle(mField, queryText, quoted);
                    if (q != null) {
                        added = true;
                        applyBoost(mField, q);
                        disMaxQuery.add(q);
                    }
                }
                if (!added) {
                    return null;
                }
View Full Code Here

TOP

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

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.