You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by eh...@apache.org on 2009/08/19 17:38:11 UTC
svn commit: r805844 - in /lucene/solr/trunk: CHANGES.txt
src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java
Author: ehatcher
Date: Wed Aug 19 15:38:11 2009
New Revision: 805844
URL: http://svn.apache.org/viewvc?rev=805844&view=rev
Log:
SOLR-1372: Enhance FieldAnalysisRequestHandler to accept text from content stream
Modified:
lucene/solr/trunk/CHANGES.txt
lucene/solr/trunk/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java
Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=805844&r1=805843&r2=805844&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Wed Aug 19 15:38:11 2009
@@ -269,7 +269,9 @@
68. SOLR-1367: Added callback mechanism for converting DocList to SolrDocumentList in SolrPluginUtils (gsingers)
-68. SOLR-1275: Add expungeDeletes to DirectUpdateHandler2 (noble)
+69. SOLR-1275: Add expungeDeletes to DirectUpdateHandler2 (noble)
+
+70. SOLR-1372: Enhance FieldAnalysisRequestHandler to accept field value from content stream (ehatcher)
Optimizations
Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java?rev=805844&r1=805843&r2=805844&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java Wed Aug 19 15:38:11 2009
@@ -24,14 +24,18 @@
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
+import org.apache.solr.common.util.ContentStream;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.IndexSchema;
+import org.apache.commons.io.IOUtils;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.io.Reader;
+import java.io.IOException;
/**
* RequestHandler that provides much the same functionality as analysis.jsp. Provides the ability to specify multiple
@@ -146,7 +150,28 @@
analysisRequest.addFieldName(req.getSchema().getDefaultSearchFieldName());
}
analysisRequest.setQuery(solrParams.get(AnalysisParams.QUERY, solrParams.get(CommonParams.Q)));
- analysisRequest.setFieldValue(solrParams.get(AnalysisParams.FIELD_VALUE));
+
+ String value = solrParams.get(AnalysisParams.FIELD_VALUE);
+
+ Iterable<ContentStream> streams = req.getContentStreams();
+ if (streams != null) {
+ // NOTE: Only the first content stream is currently processed
+ for (ContentStream stream : streams) {
+ Reader reader = null;
+ try {
+ reader = stream.getReader();
+ value = IOUtils.toString(reader);
+ } catch (IOException e) {
+ // do nothing, leave value set to the request parameter
+ }
+ finally {
+ IOUtils.closeQuietly(reader);
+ }
+ break;
+ }
+ }
+
+ analysisRequest.setFieldValue(value);
analysisRequest.setShowMatch(solrParams.getBool(AnalysisParams.SHOW_MATCH, false));
return analysisRequest;
}