Example usage for org.apache.lucene.search.spans SpanTermQuery SpanTermQuery

List of usage examples for org.apache.lucene.search.spans SpanTermQuery SpanTermQuery

Introduction

In this page you can find the example usage for org.apache.lucene.search.spans SpanTermQuery SpanTermQuery.

Prototype

public SpanTermQuery(Term term) 

Source Link

Document

Construct a SpanTermQuery matching the named term's spans.

Usage

From source file:aos.lucene.search.advanced.FilterTest.java

License:Apache License

public void testSpanQueryFilter() throws Exception {
    SpanQuery categoryQuery = new SpanTermQuery(new Term("category", "/philosophy/eastern"));

    Filter categoryFilter = new SpanQueryFilter(categoryQuery);

    assertEquals("only tao te ching", 1, TestUtil.hitCount(searcher, allBooks, categoryFilter));
}

From source file:aos.lucene.search.advanced.SpanQueryTest.java

License:Apache License

protected void setUp() throws Exception {
      directory = new RAMDirectory();

      analyzer = new WhitespaceAnalyzer(Version.LUCENE_46);
      IndexWriter writer = new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED);

      Document doc = new Document();
      doc.add(new Field("f", "the quick brown fox jumps over the lazy dog", Field.Store.YES,
              Field.Index.ANALYZED));
      writer.addDocument(doc);/*  ww  w  .j  a v a  2 s. co m*/

      doc = new Document();
      doc.add(new Field("f", "the quick red fox jumps over the sleepy cat", Field.Store.YES,
              Field.Index.ANALYZED));
      writer.addDocument(doc);

      writer.close();

      searcher = new IndexSearcher(directory);
      reader = searcher.getIndexReader();

      quick = new SpanTermQuery(new Term("f", "quick"));
      brown = new SpanTermQuery(new Term("f", "brown"));
      red = new SpanTermQuery(new Term("f", "red"));
      fox = new SpanTermQuery(new Term("f", "fox"));
      lazy = new SpanTermQuery(new Term("f", "lazy"));
      sleepy = new SpanTermQuery(new Term("f", "sleepy"));
      dog = new SpanTermQuery(new Term("f", "dog"));
      cat = new SpanTermQuery(new Term("f", "cat"));
  }

From source file:aos.lucene.search.advanced.SpanQueryTest.java

License:Apache License

public void testPlay() throws Exception {
      SpanOrQuery or = new SpanOrQuery(new SpanQuery[] { quick, fox });
      dumpSpans(or);/*from  ww w  .j  a v  a  2s. c om*/

      SpanNearQuery quick_fox = new SpanNearQuery(new SpanQuery[] { quick, fox }, 1, true);
      SpanFirstQuery sfq = new SpanFirstQuery(quick_fox, 4);
      dumpSpans(sfq);

      dumpSpans(new SpanTermQuery(new Term("f", "the")));

      SpanNearQuery quick_brown = new SpanNearQuery(new SpanQuery[] { quick, brown }, 0, false);
      dumpSpans(quick_brown);

  }

From source file:aos.lucene.search.ext.queryparser.CustomQueryParser.java

License:Apache License

/**
 * Replace PhraseQuery with SpanNearQuery to force in-order
 * phrase matching rather than reverse./* www.  j av  a 2  s .c om*/
 */
protected Query getFieldQuery(String field, String queryText, int slop) throws ParseException {
    Query orig = super.getFieldQuery(field, queryText, slop); //

    if (!(orig instanceof PhraseQuery)) { //
        return orig; //
    } //

    PhraseQuery pq = (PhraseQuery) orig;
    Term[] terms = pq.getTerms(); //
    SpanTermQuery[] clauses = new SpanTermQuery[terms.length];
    for (int i = 0; i < terms.length; i++) {
        clauses[i] = new SpanTermQuery(terms[i]);
    }

    SpanNearQuery query = new SpanNearQuery( //
            clauses, slop, true); //

    return query;
}

From source file:application.SentimentLexiconGenerator.java

License:Open Source License

public TermSpans getIndexTermInstances(String term) throws IOException {
    SpanTermQuery stq_text = new SpanTermQuery(new Term("text", term));
    return (TermSpans) stq_text.getSpans(reader);
}

From source file:brightsolid.solr.plugins.TestTargetPositionQuerySimple.java

License:Apache License

public void testTargetPosition0() throws Exception {
    SpanTermQuery stq = new SpanTermQuery(new Term("field", "one"));
    SpanQuery tpq = new SpanTargetPositionQuery(stq, 0);
    TopDocs td = searcher.search(tpq, 10);

    assertEquals(fieldValue(td, 0), "one one two");
    assertEquals(fieldValue(td, 1), "one");
    assertEquals(fieldValue(td, 2), "one two");
    assertEquals(String.valueOf(td.scoreDocs[1].score), String.valueOf(td.scoreDocs[2].score));
    assertEquals(6, td.totalHits);/*  ww  w  .j a v  a  2  s.c  om*/
}

From source file:brightsolid.solr.plugins.TestTargetPositionQuerySimple.java

License:Apache License

public void testTargetPosition1() throws Exception {
    SpanTermQuery stq = new SpanTermQuery(new Term("field", "one"));
    SpanQuery tpq = new SpanTargetPositionQuery(stq, 1);
    TopDocs td = searcher.search(tpq, 10);

    assertEquals(fieldValue(td, 0), "one one two");
    assertEquals(fieldValue(td, 1), "two one");

    assertEquals(6, td.totalHits);//from w  ww  .  j  av  a  2s  .com
}

From source file:brightsolid.solr.plugins.TestTargetPositionQuerySimple.java

License:Apache License

public void testTargetPosition10() throws Exception {
    SpanTermQuery stq = new SpanTermQuery(new Term("field", "one"));
    SpanQuery tpq = new SpanTargetPositionQuery(stq, 10);
    TopDocs td = searcher.search(tpq, 10);

    assertEquals(fieldValue(td, 0), "one one two");
    assertEquals(fieldValue(td, 1), "three two one");
    assertEquals(fieldValue(td, 2), "two one");

    assertEquals(6, td.totalHits);//from w ww.j a v a2s .co m
}

From source file:brightsolid.solr.plugins.TestTargetPositionQuerySynonyms.java

License:Apache License

public void testTargetPosition2() throws Exception {
    SpanTermQuery stq = new SpanTermQuery(new Term("field", "uno"));
    SpanQuery tpq = new SpanTargetPositionQuery(stq, 2);
    TopDocs td = searcher.search(tpq, 10);

    assertEquals(fieldValue(td, 0), "two three one");
    assertEquals(3, td.totalHits);//  ww w.  j  a v  a  2 s . co m
}

From source file:brightsolid.solr.plugins.TestTargetPositionQuerySynonyms.java

License:Apache License

public void testTargetPosition1() throws Exception {
    SpanTermQuery stq = new SpanTermQuery(new Term("field", "too"));
    SpanQuery tpq = new SpanTargetPositionQuery(stq, 1);
    TopDocs td = searcher.search(tpq, 10);

    assertEquals(fieldValue(td, 0), "one two three");
    assertEquals(3, td.totalHits);/*from  w ww . j  a va  2s  .  co  m*/
}