[mb-commits] r13652 - search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet

[email protected] Wed, 03 Apr 2013 20:44:22 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1UNUXe-0000Gk-9Q@wiley>
Author: ijabz
Date: 2013-04-03 20:44:21 +0000 (Wed, 03 Apr 2013)
New Revision: 13652

Modified:
   search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/AbstractDismaxSearchServer.java
   search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/AbstractSearchServer.java
   search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java
Log:
SEARCH-281:If set explain=true option with dismax search it actually does a non-indexed search

Modified: search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/AbstractDismaxSearchServer.java
===================================================================
--- search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/AbstractDismaxSearchServer.java	2013-03-29 19:57:58 UTC (rev 13651)
+++ search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/AbstractDismaxSearchServer.java	2013-04-03 20:44:21 UTC (rev 13652)
@@ -39,7 +39,14 @@
   }
 
   @Override
-  public String explain(String query, int offset, int limit) throws IOException, ParseException {
+  public String explain(String userQuery, int offset, int limit) throws IOException, ParseException {
+      Query query = parseQuery(userQuery);
+      return realSearchServer.explain(query, offset, limit);
+  }
+
+
+    @Override
+  public String explain(Query query, int offset, int limit) throws IOException, ParseException {
     return realSearchServer.explain(query, offset, limit);
   }
 

Modified: search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/AbstractSearchServer.java
===================================================================
--- search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/AbstractSearchServer.java	2013-03-29 19:57:58 UTC (rev 13651)
+++ search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/AbstractSearchServer.java	2013-04-03 20:44:21 UTC (rev 13652)
@@ -248,24 +248,28 @@
     return results;
   }
 
+  public String explain(String userQuery, int offset, int limit) throws IOException, ParseException {
+    Query parsedQuery = parseQuery(userQuery);
+    return explain(parsedQuery, offset, limit);
+  }
+
   /* (non-Javadoc)
    * @see org.musicbrainz.search.servlet.ISearchServer#explain(java.lang.String, int, int)
    */
   @Override
-  public String explain(String query, int offset, int limit) throws IOException, ParseException {
+  public String explain(Query query, int offset, int limit) throws IOException, ParseException {
     StringBuffer sb = new StringBuffer("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n");
     sb.append("<html lang=\"en\">\n<head>\n");
     sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n");
     sb.append("</head>\n<body>");
     IndexSearcher searcher = searcherManager.acquire();
     try {
-      Query parsedQuery = parseQuery(query);
-      TopDocs topdocs = searcher.search(parsedQuery, offset + limit);
+      TopDocs topdocs = searcher.search(query, offset + limit);
       ScoreDoc docs[] = topdocs.scoreDocs;
       float maxScore = topdocs.getMaxScore();
-      sb.append("<p>Query:" + parsedQuery.toString() + "</p>\n");
+      sb.append("<p>Query:" + query.toString() + "</p>\n");
       for (int i = 0; i < docs.length; i++) {
-        explainAndDisplayResult(i, sb, searcher, parsedQuery, docs[i], maxScore);
+        explainAndDisplayResult(i, sb, searcher, query, docs[i], maxScore);
       }
       searchCount.incrementAndGet();
     } finally {

Modified: search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java
===================================================================
--- search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java	2013-03-29 19:57:58 UTC (rev 13651)
+++ search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java	2013-04-03 20:44:21 UTC (rev 13652)
@@ -47,6 +47,8 @@
    * @throws IOException
    * @throws ParseException
    */
+  public abstract String explain(Query query, int offset, int limit) throws IOException, ParseException;
+
   public abstract String explain(String query, int offset, int limit) throws IOException, ParseException;
 
   public abstract SearcherManager getSearcherManager();