You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2012/11/20 09:49:28 UTC
svn commit: r1411588 -
/maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/DefaultIteratorResultSet.java
Author: cstamas
Date: Tue Nov 20 08:49:27 2012
New Revision: 1411588
URL: http://svn.apache.org/viewvc?rev=1411588&view=rev
Log:
MINDEXER-69 reuse rewritten query for all artifacts
Invoking Query#rewrite(IndexReader) for each
ArtifactInfo/MatchHighlightRequest is redundant and results in
significant unnecessary cpu and/or io utilization.
Signed-off-by: Igor Fedorenko <ig...@ifedorenko.com>
Signed-off-by: Tamás Cservenák <cs...@apache.org>
Modified:
maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/DefaultIteratorResultSet.java
Modified: maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/DefaultIteratorResultSet.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/DefaultIteratorResultSet.java?rev=1411588&r1=1411587&r2=1411588&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/DefaultIteratorResultSet.java (original)
+++ maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/DefaultIteratorResultSet.java Tue Nov 20 08:49:27 2012
@@ -110,6 +110,13 @@ public class DefaultIteratorResultSet
this.matchHighlightRequests = request.getMatchHighlightRequests();
+ List<MatchHighlightRequest> matchHighlightRequests = new ArrayList<MatchHighlightRequest>();
+ for ( MatchHighlightRequest hr : request.getMatchHighlightRequests() )
+ {
+ Query rewrittenQuery = hr.getQuery().rewrite( indexSearcher.getIndexReader() );
+ matchHighlightRequests.add( new MatchHighlightRequest( hr.getField(), rewrittenQuery, hr.getHighlightMode() ) );
+ }
+
this.hits = hits;
this.from = request.getStart();
@@ -358,8 +365,6 @@ public class DefaultIteratorResultSet
text = text.replace( '/', '.' ).replaceAll( "^\\.", "" ).replaceAll( "\n\\.", "\n" );
}
- Query rewrittenQuery = hr.getQuery().rewrite( indexSearcher.getIndexReader() );
-
CachingTokenFilter tokenStream =
new CachingTokenFilter( context.getAnalyzer().tokenStream( field.getKey(), new StringReader( text ) ) );
@@ -376,7 +381,7 @@ public class DefaultIteratorResultSet
+ "\" is not supported!" );
}
- return getBestFragments( rewrittenQuery, formatter, tokenStream, text, 3 );
+ return getBestFragments( hr.getQuery(), formatter, tokenStream, text, 3 );
}
protected final List<String> getBestFragments( Query query, Formatter formatter, TokenStream tokenStream,