You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2010/02/24 09:19:09 UTC
svn commit: r915718 -
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JackrabbitAnalyzer.java
Author: mreutegg
Date: Wed Feb 24 08:19:09 2010
New Revision: 915718
URL: http://svn.apache.org/viewvc?rev=915718&view=rev
Log:
JCR-2505: High memory usage on node with multi-valued string properties
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JackrabbitAnalyzer.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JackrabbitAnalyzer.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JackrabbitAnalyzer.java?rev=915718&r1=915717&r2=915718&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JackrabbitAnalyzer.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JackrabbitAnalyzer.java Wed Feb 24 08:19:09 2010
@@ -16,12 +16,13 @@
*/
package org.apache.jackrabbit.core.query.lucene;
+import java.io.IOException;
+import java.io.Reader;
+
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
-import java.io.Reader;
-
/**
* This is the global jackrabbit lucene analyzer. By default, all
* properties are indexed with the <code>StandardAnalyzer(new String[]{})</code>,
@@ -74,4 +75,15 @@
return defaultAnalyzer.tokenStream(fieldName, reader);
}
+ @Override
+ public TokenStream reusableTokenStream(String fieldName, Reader reader)
+ throws IOException {
+ if (indexingConfig != null) {
+ Analyzer propertyAnalyzer = indexingConfig.getPropertyAnalyzer(fieldName);
+ if (propertyAnalyzer != null) {
+ return propertyAnalyzer.reusableTokenStream(fieldName, reader);
+ }
+ }
+ return defaultAnalyzer.reusableTokenStream(fieldName, reader);
+ }
}