From 0ad52ac4c34254c06efa0bc921d4c1f8b3eba592 Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Tue, 21 Aug 2012 02:39:28 +0200 Subject: [PATCH] gsa bugfix for date parser --- htroot/gsa/searchresult.java | 20 +----------------- .../federated/solr/GSAResponseWriter.java | 21 ++++++++++++++++++- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/htroot/gsa/searchresult.java b/htroot/gsa/searchresult.java index 546214e17..548cae36e 100644 --- a/htroot/gsa/searchresult.java +++ b/htroot/gsa/searchresult.java @@ -30,7 +30,6 @@ import net.yacy.cora.protocol.RequestHeader; import net.yacy.cora.services.federated.solr.GSAResponseWriter; import net.yacy.kelondro.logging.Log; import net.yacy.search.Switchboard; -import net.yacy.search.index.YaCySchema; import net.yacy.search.solr.EmbeddedSolrConnector; import org.apache.solr.common.SolrException; @@ -65,23 +64,6 @@ public class searchresult { return "text/xml"; } - public static class Sort { - public String sort, action, direction, mode, format; - public Sort(String d) { - this.sort = d; - String[] s = d.split(":"); - this.action = s[0]; // date - this.direction = s[1]; // A or D - this.mode = s[2]; // S, R, L - this.format = s[3]; // d1 - } - public String toSolr() { - if ("date".equals(this.action)) { - return YaCySchema.last_modified.name() + " " + (("D".equals(this.direction) ? "desc" : "asc")); - } - return null; - } - } /** * @param header @@ -118,7 +100,7 @@ public class searchresult { post.put(CommonParams.ROWS, post.remove("num")); post.put(CommonParams.ROWS, Math.min(post.getInt("num", 10), (authenticated) ? 5000 : 100)); post.remove("num"); - Sort sort = new Sort(post.get(CommonParams.SORT, "")); + GSAResponseWriter.Sort sort = new GSAResponseWriter.Sort(post.get(CommonParams.SORT, "")); String sorts = sort.toSolr(); if (sorts == null) { post.remove(CommonParams.SORT); diff --git a/source/net/yacy/cora/services/federated/solr/GSAResponseWriter.java b/source/net/yacy/cora/services/federated/solr/GSAResponseWriter.java index a6f219456..cb1a4542a 100644 --- a/source/net/yacy/cora/services/federated/solr/GSAResponseWriter.java +++ b/source/net/yacy/cora/services/federated/solr/GSAResponseWriter.java @@ -98,6 +98,25 @@ public class GSAResponseWriter implements QueryResponseWriter { //public float maxScore; } + public static class Sort { + public String sort = null, action = null, direction = null, mode = null, format = null; + public Sort(String d) { + this.sort = d; + String[] s = d.split(":"); + if (s.length != 4) return; + this.action = s[0]; // date + this.direction = s[1]; // A or D + this.mode = s[2]; // S, R, L + this.format = s[3]; // d1 + } + public String toSolr() { + if ("date".equals(this.action)) { + return YaCySchema.last_modified.name() + " " + (("D".equals(this.direction) ? "desc" : "asc")); + } + return null; + } + } + public GSAResponseWriter() { super(); } @@ -166,7 +185,7 @@ public class GSAResponseWriter implements QueryResponseWriter { SolrIndexSearcher searcher = request.getSearcher(); DocIterator iterator = response.iterator(); for (int i = 0; i < responseCount; i++) { - writer.write(""); writer.write(lb); + writer.write(""); writer.write(lb); int id = iterator.nextDoc(); Document doc = searcher.doc(id, SOLR_FIELDS); List fields = doc.getFields();