Package org.apache.lucene.search

Examples of org.apache.lucene.search.TermQuery


  assertEquals("Expected " + originalValues.size() + " clauses.",
    originalValues.size(), clauses.size());

  for (int i = 0; i < clauses.size(); i++) {
      BooleanClause clause = (BooleanClause) clauses.get(i);
      TermQuery tq = (TermQuery) clause.getQuery();
      Float termBoost = (Float) originalValues.get(tq.getTerm().text());
      assertNotNull("Expected term " + tq.getTerm().text(), termBoost);

      float totalBoost = termBoost.floatValue() * boostFactor;
      assertEquals("Expected boost of " + totalBoost + " for term '"
                         + tq.getTerm().text() + "' got " + tq.getBoost(),
                         totalBoost, tq.getBoost(), 0.0001);
  }
    }
View Full Code Here


    "lucene release"));
  List clauses = query.clauses();

  for (int i = 0; i < clauses.size(); i++) {
      BooleanClause clause = (BooleanClause) clauses.get(i);
      TermQuery tq = (TermQuery) clause.getQuery();
      originalValues.put(tq.getTerm().text(), Float.valueOf(tq.getBoost()));
  }
  return originalValues;
    }
View Full Code Here

    Iterator<String> it = top.iterator();
    while ( it.hasNext())
    {
      // [2a] add to level words in
      String word = (String) it.next();
      TermQuery tq = new TermQuery( new Term( field, word));
      tmp.add( tq, BooleanClause.Occur.SHOULD);

      syns.search(new TermQuery( new Term(Syns2Index.F_WORD, word)), new Collector() {
        IndexReader reader;
       
        @Override
        public boolean acceptsDocsOutOfOrder() {
          return true;
        }

        @Override
        public void collect(int doc) throws IOException {
          Document d = reader.document(doc);
          String[] values = d.getValues( Syns2Index.F_SYN);
          for ( int j = 0; j < values.length; j++)
          {
            String syn = values[ j];
            if ( already.add( syn)) // avoid dups of top level words and synonyms
            {
              TermQuery tq = new TermQuery( new Term( field, syn));
              if ( boost > 0) // else keep normal 1.0
                tq.setBoost( boost);
              tmp.add( tq, BooleanClause.Occur.SHOULD);
            }
          }
        }
View Full Code Here

    FSDirectory directory = FSDirectory.open(new File(args[0]));
    IndexSearcher searcher = new IndexSearcher(directory, true);

    String word = args[1];
    Query query = new TermQuery(new Term(Syns2Index.F_WORD, word));
    CountingCollector countingCollector = new CountingCollector();
    searcher.search(query, countingCollector);

    if (countingCollector.numHits == 0) {
      System.out.println("No synonyms found for " + word);
View Full Code Here

    Iterator<String> it = top.iterator();
    while ( it.hasNext())
    {
      // [2a] add to level words in
      String word = it.next();
      TermQuery tq = new TermQuery( new Term( field, word));
      tmp.add( tq, BooleanClause.Occur.SHOULD);

      // [2b] add in unique synonums
      syns.search(new TermQuery( new Term(Syns2Index.F_WORD, word)), new Collector() {
        IndexReader reader;
       
        @Override
        public boolean acceptsDocsOutOfOrder() {
          return true;
        }

        @Override
        public void collect(int doc) throws IOException {
          Document d = reader.document(doc);
          String[] values = d.getValues( Syns2Index.F_SYN);
          for ( int j = 0; j < values.length; j++)
          {
            String syn = values[ j];
            if ( already.add( syn))
            {
              TermQuery tq = new TermQuery( new Term( field, syn));
              if ( boost > 0) // else keep normal 1.0
                tq.setBoost( boost);
              tmp.add( tq, BooleanClause.Occur.SHOULD);
            }
          }
        }
View Full Code Here

    single = single();
    parallel = parallel();
  }

  public void testQueries() throws Exception {
    queryTest(new TermQuery(new Term("f1", "v1")));
    queryTest(new TermQuery(new Term("f1", "v2")));
    queryTest(new TermQuery(new Term("f2", "v1")));
    queryTest(new TermQuery(new Term("f2", "v2")));
    queryTest(new TermQuery(new Term("f3", "v1")));
    queryTest(new TermQuery(new Term("f3", "v2")));
    queryTest(new TermQuery(new Term("f4", "v1")));
    queryTest(new TermQuery(new Term("f4", "v2")));

    BooleanQuery bq1 = new BooleanQuery();
    bq1.add(new TermQuery(new Term("f1", "v1")), Occur.MUST);
    bq1.add(new TermQuery(new Term("f4", "v1")), Occur.MUST);
    queryTest(bq1);
  }
View Full Code Here

    doc.add(new Field("f", "a", Field.Store.NO, Field.Index.NOT_ANALYZED));
    writer.addDocument(doc);
    writer.commit();

    collector = new Collector();
    searcher.search(new TermQuery(new Term("f", "a")), collector);
    assertEquals(1, collector.hits);

    doc = new Document();
    doc.add(new Field("f", "a", Field.Store.NO, Field.Index.NOT_ANALYZED));
    writer.addDocument(doc);
    writer.commit();

    collector = new Collector();
    searcher.search(new TermQuery(new Term("f", "a")), collector);
    assertEquals(2, collector.hits);

  }
View Full Code Here

        reader.deleteDocument(4);
        assertEquals(reader.docFreq(bbb), 37);
        dir.tweakBufferSizes();

        IndexSearcher searcher = new IndexSearcher(reader);
        ScoreDoc[] hits = searcher.search(new TermQuery(bbb), null, 1000).scoreDocs;
        dir.tweakBufferSizes();
        assertEquals(35, hits.length);
        dir.tweakBufferSizes();
        hits = searcher.search(new TermQuery(new Term("id", "33")), null, 1000).scoreDocs;
        dir.tweakBufferSizes();
        assertEquals(1, hits.length);
        hits = searcher.search(new TermQuery(aaa), null, 1000).scoreDocs;
        dir.tweakBufferSizes();
        assertEquals(35, hits.length);
        searcher.close();
        reader.close();
      } finally {
View Full Code Here

        writer.close();

        Searcher searcher = new IndexSearcher(dir, true);

  // search for something that does exists
  Query query = new TermQuery(new Term("keyword", "test1"));

  // ensure that queries return expected results without DateFilter first
        ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
  assertEquals(1, hits.length);
View Full Code Here

      writer.addDocument(doc);
      writer.close();

      Searcher searcher = new IndexSearcher(dir, true);

      Query query = new TermQuery(new Term("keyword", "test"));

      // ensure that queries return expected results without DateFilter first
      ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
      assertEquals(3, hits.length);
      int result = 0;
View Full Code Here

TOP

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

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.