You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2012/09/20 19:50:31 UTC
svn commit: r1388136 - in /lucene/dev/branches/branch_4x: ./ dev-tools/
lucene/ lucene/analysis/
lucene/analysis/icu/src/java/org/apache/lucene/collation/ lucene/backwards/
lucene/benchmark/ lucene/codecs/ lucene/core/ lucene/demo/ lucene/facet/
lucene...
Author: yonik
Date: Thu Sep 20 17:50:29 2012
New Revision: 1388136
URL: http://svn.apache.org/viewvc?rev=1388136&view=rev
Log:
SOLR-3825: Added optional capability to log what ids are in a response
Added:
lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java
- copied, changed from r1386613, lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java
lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/solrconfig-response-log-component.xml
- copied unchanged from r1386613, lucene/dev/trunk/solr/core/src/test-files/solr/collection1/conf/solrconfig-response-log-component.xml
lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java
- copied, changed from r1386613, lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/dev-tools/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/BUILD.txt (props changed)
lucene/dev/branches/branch_4x/lucene/CHANGES.txt (props changed)
lucene/dev/branches/branch_4x/lucene/JRE_VERSION_MIGRATION.txt (props changed)
lucene/dev/branches/branch_4x/lucene/LICENSE.txt (props changed)
lucene/dev/branches/branch_4x/lucene/MIGRATE.txt (props changed)
lucene/dev/branches/branch_4x/lucene/NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/lucene/README.txt (props changed)
lucene/dev/branches/branch_4x/lucene/analysis/ (props changed)
lucene/dev/branches/branch_4x/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java (props changed)
lucene/dev/branches/branch_4x/lucene/backwards/ (props changed)
lucene/dev/branches/branch_4x/lucene/benchmark/ (props changed)
lucene/dev/branches/branch_4x/lucene/build.xml (props changed)
lucene/dev/branches/branch_4x/lucene/codecs/ (props changed)
lucene/dev/branches/branch_4x/lucene/common-build.xml (props changed)
lucene/dev/branches/branch_4x/lucene/core/ (props changed)
lucene/dev/branches/branch_4x/lucene/demo/ (props changed)
lucene/dev/branches/branch_4x/lucene/facet/ (props changed)
lucene/dev/branches/branch_4x/lucene/grouping/ (props changed)
lucene/dev/branches/branch_4x/lucene/highlighter/ (props changed)
lucene/dev/branches/branch_4x/lucene/ivy-settings.xml (props changed)
lucene/dev/branches/branch_4x/lucene/join/ (props changed)
lucene/dev/branches/branch_4x/lucene/licenses/ (props changed)
lucene/dev/branches/branch_4x/lucene/memory/ (props changed)
lucene/dev/branches/branch_4x/lucene/misc/ (props changed)
lucene/dev/branches/branch_4x/lucene/module-build.xml (props changed)
lucene/dev/branches/branch_4x/lucene/queries/ (props changed)
lucene/dev/branches/branch_4x/lucene/queryparser/ (props changed)
lucene/dev/branches/branch_4x/lucene/sandbox/ (props changed)
lucene/dev/branches/branch_4x/lucene/site/ (props changed)
lucene/dev/branches/branch_4x/lucene/spatial/ (props changed)
lucene/dev/branches/branch_4x/lucene/suggest/ (props changed)
lucene/dev/branches/branch_4x/lucene/test-framework/ (props changed)
lucene/dev/branches/branch_4x/lucene/tools/ (props changed)
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_4x/solr/LICENSE.txt (props changed)
lucene/dev/branches/branch_4x/solr/NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/solr/README.txt (props changed)
lucene/dev/branches/branch_4x/solr/build.xml (props changed)
lucene/dev/branches/branch_4x/solr/cloud-dev/ (props changed)
lucene/dev/branches/branch_4x/solr/common-build.xml (props changed)
lucene/dev/branches/branch_4x/solr/contrib/ (props changed)
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/dev-tools/ (props changed)
lucene/dev/branches/branch_4x/solr/example/ (props changed)
lucene/dev/branches/branch_4x/solr/licenses/ (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpclient-LICENSE-ASL.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpclient-NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpcore-LICENSE-ASL.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpcore-NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpmime-LICENSE-ASL.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpmime-NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/solr/scripts/ (props changed)
lucene/dev/branches/branch_4x/solr/solrj/ (props changed)
lucene/dev/branches/branch_4x/solr/test-framework/ (props changed)
lucene/dev/branches/branch_4x/solr/testlogging.properties (props changed)
lucene/dev/branches/branch_4x/solr/webapp/ (props changed)
Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1388136&r1=1388135&r2=1388136&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Thu Sep 20 17:50:29 2012
@@ -67,6 +67,9 @@ New Features
to query on these shapes too. Polygons requires adding JTS to the classpath.
(David Smiley)
+* SOLR-3825: Added optional capability to log what ids are in a response
+ (Scott Stults via gsingers)
+
Optimizations
----------------------
Copied: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java (from r1386613, lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java?p2=lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java&p1=lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java&r1=1386613&r2=1388136&rev=1388136&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/ResponseLogComponent.java Thu Sep 20 17:50:29 2012
@@ -17,11 +17,16 @@ package org.apache.solr.handler.componen
*/
import java.io.IOException;
+import java.util.Collections;
+import java.util.Set;
+import org.apache.lucene.index.StoredFieldVisitor;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.response.ResultContext;
+import org.apache.solr.schema.IndexSchema;
import org.apache.solr.search.DocIterator;
import org.apache.solr.search.DocList;
+import org.apache.solr.search.SolrIndexSearcher;
/**
* Adds to the log file the document IDs that are sent in the query response.
@@ -62,32 +67,45 @@ public class ResponseLogComponent extend
SolrParams params = rb.req.getParams();
if (!params.getBool(COMPONENT_NAME, false)) return;
+ IndexSchema schema = rb.req.getSchema();
+ if (schema.getUniqueKeyField() == null) return;
+
ResultContext rc = (ResultContext) rb.rsp.getValues().get("response");
+ SolrIndexSearcher searcher = rb.req.getSearcher();
+
if (rc.docs.hasScores()) {
- processScores(rb, rc.docs);
+ processScores(rb, rc.docs, schema, searcher);
} else {
- processIds(rb, rc.docs);
+ processIds(rb, rc.docs, schema, searcher);
}
}
- protected void processIds(ResponseBuilder rb, DocList dl) {
+ protected void processIds(ResponseBuilder rb, DocList dl, IndexSchema schema,
+ SolrIndexSearcher searcher) throws IOException {
+
StringBuilder sb = new StringBuilder();
+
+ Set<String> fields = Collections.singleton(schema.getUniqueKeyField().getName());
for(DocIterator iter = dl.iterator(); iter.hasNext();) {
- sb.append(iter.nextDoc())
- .append(',');
+
+ sb.append(schema.printableUniqueKey(searcher.doc(iter.nextDoc(), fields)))
+ .append(',');
}
if (sb.length() > 0) {
rb.rsp.addToLog("responseLog", sb.substring(0, sb.length() - 1));
}
}
- protected void processScores(ResponseBuilder rb, DocList dl) {
+ protected void processScores(ResponseBuilder rb, DocList dl, IndexSchema schema,
+ SolrIndexSearcher searcher) throws IOException {
+
StringBuilder sb = new StringBuilder();
+ Set<String> fields = Collections.singleton(schema.getUniqueKeyField().getName());
for(DocIterator iter = dl.iterator(); iter.hasNext();) {
- sb.append(iter.nextDoc())
- .append(':')
- .append(iter.score())
- .append(',');
+ sb.append(schema.printableUniqueKey(searcher.doc(iter.nextDoc(), fields)))
+ .append(':')
+ .append(iter.score())
+ .append(',');
}
if (sb.length() > 0) {
rb.rsp.addToLog("responseLog", sb.substring(0, sb.length() - 1));
@@ -104,4 +122,4 @@ public class ResponseLogComponent extend
return "$URL$";
}
-}
\ No newline at end of file
+}
Copied: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java (from r1386613, lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java?p2=lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java&p1=lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java&r1=1386613&r2=1388136&rev=1388136&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/ResponseLogComponentTest.java Thu Sep 20 17:50:29 2012
@@ -30,7 +30,7 @@ public class ResponseLogComponentTest ex
public static void beforeTest() throws Exception {
initCore("solrconfig-response-log-component.xml","schema12.xml");
assertNull(h.validateUpdate(adoc("id", "1", "subject", "aa")));
- assertNull(h.validateUpdate(adoc("id", "2", "subject", "aa")));
+ assertNull(h.validateUpdate(adoc("id", "two", "subject", "aa")));
assertNull(h.validateUpdate(adoc("id", "3", "subject", "aa")));
assertU(commit());
}
@@ -46,11 +46,9 @@ public class ResponseLogComponentTest ex
NamedList<Object> entries = qr.getToLog();
String responseLog = (String) entries.get("responseLog");
assertNotNull(responseLog);
- assertTrue(responseLog.matches("\\d+,\\d+"));
+ assertTrue(responseLog.matches("\\w+,\\w+"));
} finally {
- if (req != null) {
- req.close();
- }
+ req.close();
}
}
@@ -65,11 +63,9 @@ public class ResponseLogComponentTest ex
NamedList<Object> entries = qr.getToLog();
String responseLog = (String) entries.get("responseLog");
assertNotNull(responseLog);
- assertTrue(responseLog.matches("\\d+:\\d+\\.\\d+,\\d+:\\d+\\.\\d+"));
+ assertTrue(responseLog.matches("\\w+:\\d+\\.\\d+,\\w+:\\d+\\.\\d+"));
} finally {
- if (req != null) {
- req.close();
- }
+ req.close();
}
}
@@ -85,9 +81,7 @@ public class ResponseLogComponentTest ex
String responseLog = (String) entries.get("responseLog");
assertNull(responseLog);
} finally {
- if (req != null) {
- req.close();
- }
+ req.close();
}
}
}