private void applySlop(Query q, int slop) { if (q instanceof PhraseQuery) { ((PhraseQuery) q).setSlop(slop); } else if (q instanceof MultiPhraseQuery) { ((MultiPhraseQuery) q).setSlop(slop); } }
private void applySlop(Query q, int slop) { if (q instanceof PhraseQuery) { ((PhraseQuery) q).setSlop(slop); } else if (q instanceof MultiPhraseQuery) { ((MultiPhraseQuery) q).setSlop(slop); } }
/** * Base implementation delegates to {@link #getFieldQuery(String,String)}. * This method may be overridden, for example, to return * a SpanNearQuery instead of a PhraseQuery. * * @exception ParseException throw in overridden method to disallow */ protected Query getFieldQuery(String field, String queryText, int slop) throws ParseException { Query query = getFieldQuery(field, queryText); if (query instanceof PhraseQuery) { ((PhraseQuery) query).setSlop(slop); } return query; }
/** * Base implementation delegates to {@link #getFieldQuery(String,String)}. * This method may be overridden, for example, to return * a SpanNearQuery instead of a PhraseQuery. * * @exception ParseException throw in overridden method to disallow */ protected Query getFieldQuery(String field, String queryText, int slop) throws ParseException { Query query = getFieldQuery(field, queryText); if (query instanceof PhraseQuery) { ((PhraseQuery) query).setSlop(slop); } if (query instanceof MultiPhraseQuery) { ((MultiPhraseQuery) query).setSlop(slop); } return query; }
/** * Base implementation delegates to {@link #getFieldQuery(String,String)}. * This method may be overridden, for example, to return * a SpanNearQuery instead of a PhraseQuery. * * @exception ParseException throw in overridden method to disallow */ protected Query getFieldQuery(String field, String queryText, int slop) throws ParseException { Query query = getFieldQuery(field, queryText); if (query instanceof PhraseQuery) { ((PhraseQuery) query).setSlop(slop); } if (query instanceof MultiPhraseQuery) { ((MultiPhraseQuery) query).setSlop(slop); } return query; }
else { PhraseQuery q = new PhraseQuery(); q.setSlop(phraseSlop); for (int i=0; i<v.size(); i++) { q.add(new Term(field, (String) v.elementAt(i)));
private void checkOverlap( Collection<Query> expandQueries, Term[] src, Term[] dest, int slop, float boost ){ // beginning from 1 (not 0) is safe because that the PhraseQuery has multiple terms // is guaranteed in flatten() method (if PhraseQuery has only one term, flatten() // converts PhraseQuery to TermQuery) for( int i = 1; i < src.length; i++ ){ boolean overlap = true; for( int j = i; j < src.length; j++ ){ if( ( j - i ) < dest.length && !src[j].text().equals( dest[j-i].text() ) ){ overlap = false; break; } } if( overlap && src.length - i < dest.length ){ PhraseQuery pq = new PhraseQuery(); for( Term srcTerm : src ) pq.add( srcTerm ); for( int k = src.length - i; k < dest.length; k++ ){ pq.add( new Term( src[0].field(), dest[k].text() ) ); } pq.setSlop( slop ); pq.setBoost( boost ); if(!expandQueries.contains( pq ) ) expandQueries.add( pq ); } } }
q.setSlop(phraseSlop); for (int i = 0; i < lst.size(); i++) { Token token = lst.get(i);
pq.setSlop(phraseSlop); int position = -1; for (int i = 0; i < list.size(); i++) {
pq.setSlop(phraseSlop); int position = -1; for (int i = 0; i < list.size(); i++) {
@Override public Query visit(PhraseQuery phraseQuery) { 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 ); } newQuery.setSlop(phraseQuery.getSlop()); newQuery.setBoost( phraseQuery.getBoost() ); return newQuery; } }
pq.setSlop((5 - aToken.length) >= 0 ? (5 - aToken.length) : 0); // max 5-grams in the web1t for (String t : aToken) { pq.add(new Term("gram", t.toLowerCase()));
pq.setSlop(phraseSlop); int position = -1; for (int i = 0; i < list.size(); i++) {
pq.setSlop(phraseSlop); int position = -1; for (int i = 0; i < list.size(); i++) {
q.add(t.equals(original)? replacement : t); q.setSlop(query.getSlop()); q.setBoost(query.getBoost()); return q;
phraseQuery.setSlop(DEFAULT_SLOP);
PhraseQuery replaced = new PhraseQuery(); replaced.setBoost(original.getBoost()); replaced.setSlop(original.getSlop()); Term[] terms = original.getTerms(); int[] positions = original.getPositions();