Created
July 6, 2012 21:38
-
-
Save ottomata/3062890 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/template/simple/lsearch.log4j b/template/simple/lsearch.log4j | |
index 8283994..b99eda7 100644 | |
--- a/template/simple/lsearch.log4j | |
+++ b/template/simple/lsearch.log4j | |
@@ -1,9 +1,16 @@ | |
# Set root logger level and its only appender to A1. | |
-log4j.rootLogger=INFO, A1 | |
+log4j.rootLogger=INFO, scribe | |
-# A1 is set to be a ConsoleAppender. | |
-log4j.appender.A1=org.apache.log4j.ConsoleAppender | |
+# log4j.appender.stdout=org.apache.log4j.ConsoleAppender | |
+# log4j.appender.stdout.layout=org.apache.log4j.PatternLayout | |
+# log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS} %m%n | |
+ | |
+log4j.appender.scribe=org.apache.log4j.net.ScribeAppender | |
+log4j.appender.scribe.category=lucene | |
+log4j.appender.scribe.remoteHost=127.0.0.1 | |
+log4j.appender.scribe.layout=org.apache.log4j.PatternLayout | |
+log4j.appender.scribe.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS} %m | |
+ | |
+log4j.logger.org.wikimedia.lsearch.search.SearchEngine=WARN | |
+log4j.logger.org.wikimedia.lsearch.spell.Suggest=WARN | |
-# A1 uses PatternLayout. | |
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout | |
-log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/org/wikimedia/lsearch/frontend/SearchDaemon.java b/src/org/wikimedia/lsearch/frontend/SearchDaemon.java | |
index bf6771d..ef8d6bc 100644 | |
--- a/src/org/wikimedia/lsearch/frontend/SearchDaemon.java | |
+++ b/src/org/wikimedia/lsearch/frontend/SearchDaemon.java | |
@@ -91,7 +91,7 @@ public class SearchDaemon extends HttpHandler { | |
dbname = paths[2]; | |
searchterm = paths[3].trim(); | |
- log.info(MessageFormat.format("query:{0} what:{1} dbname:{2} term:{3}", | |
+ log.debug(MessageFormat.format("query:{0} what:{1} dbname:{2} term:{3}", | |
new Object[] {rawUri, what, dbname, searchterm})); | |
try{ | |
long start = System.currentTimeMillis(); | |
@@ -99,6 +99,9 @@ public class SearchDaemon extends HttpHandler { | |
HashMap query = new QueryStringMap(uri); | |
double version = getVersion(query); | |
SearchResults res = search.search(dbname,what,searchterm,query,version); | |
+ | |
+ logResults(dbname, searchterm, res); | |
+ | |
contentType = "text/plain"; | |
long delta = System.currentTimeMillis() - start; | |
// format: | |
@@ -293,6 +296,10 @@ public class SearchDaemon extends HttpHandler { | |
/** URL-encoding */ | |
private String encode(String text){ | |
+ if (text == null) | |
+ { | |
+ return ""; | |
+ } | |
try { | |
String s = URLEncoder.encode(text, "UTF-8"); | |
return s.replaceAll("\\+","%20"); | |
@@ -444,5 +451,44 @@ public class SearchDaemon extends HttpHandler { | |
log.error("Error sending prefix result line (" + namespace + " " + title +"): "+e.getMessage(),e); | |
} | |
} | |
+ | |
+ | |
+ /** | |
+ * Logs search and the first search result. | |
+ * | |
+ * @param String dbname | |
+ * @param String searchterm | |
+ * @param SearchResults res | |
+ */ | |
+ protected void logResults(String dbname, String searchterm, SearchResults res) { | |
+ // log the top result of this search query | |
+ String resultScore = null; | |
+ String resultInterwiki = null; | |
+ String resultNamespace = null; | |
+ String resultNamespaceTextual = null; | |
+ String resultTitle = null; | |
+ | |
+ ResultSet resultSet = null; | |
+ if ( res != null && res.getResults() != null && res.getResults().size() > 0 ) { | |
+ resultSet = res.getResults().get(0); | |
+ | |
+ resultScore = Double.toString(resultSet.getScore()); | |
+ resultInterwiki = encode(resultSet.getInterwiki()); | |
+ resultNamespace = resultSet.getNamespace(); | |
+ resultNamespaceTextual = encode(resultSet.getNamespaceTextual()); | |
+ resultTitle = encodeTitle(resultSet.getTitle()); | |
+ } | |
+ | |
+ log.info(String.format("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s", | |
+ (dbname == null || dbname.isEmpty()) ? "-" : dbname, | |
+ (searchterm == null || searchterm.isEmpty()) ? "-" : encode(searchterm), | |
+ res.getResults().size(), | |
+ (resultScore == null || searchterm.isEmpty()) ? "-" : resultScore, | |
+ (resultInterwiki == null || resultInterwiki.isEmpty()) ? "-" : resultInterwiki, | |
+ (resultNamespace == null || resultNamespace.isEmpty()) ? "-" : resultNamespace, | |
+ (resultNamespaceTextual == null || resultNamespaceTextual.isEmpty()) ? "-" : encode(resultNamespaceTextual), | |
+ (resultTitle == null || resultTitle.isEmpty()) ? "-" : encodeTitle(resultTitle) | |
+ )); | |
+ } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment