List of usage examples for org.apache.lucene.search.spans SpanTermQuery SpanTermQuery
public SpanTermQuery(Term term)
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*/ }