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;
}