NIHVIVO-1287 Moved changes from PagedSearchController to FreemarkerPagedSearchController, since this is the active search controller in vivo and vitro

This commit is contained in:
rjy7 2010-10-27 18:57:13 +00:00
parent 2d5ef9d187
commit eed6e5a9d9
2 changed files with 20 additions and 20 deletions

View file

@ -945,6 +945,18 @@
<url-pattern>/TabEntitiesController</url-pattern> <url-pattern>/TabEntitiesController</url-pattern>
</servlet-mapping> </servlet-mapping>
<!-- NOTICE: index.jsp is mapped to TabController so that we
can have the urls that use to be in the system still work even
though we no longer use index.jsp -->
<servlet>
<servlet-name>TabController</servlet-name>
<servlet-class>edu.cornell.mannlib.vitro.webapp.controller.TabController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TabController</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
<!-- <servlet> <!-- <servlet>
<servlet-name>EntityPropertyListController</servlet-name> <servlet-name>EntityPropertyListController</servlet-name>
<servlet-class>edu.cornell.mannlib.vitro.webapp.controller.EntityPropertyListController</servlet-class> <servlet-class>edu.cornell.mannlib.vitro.webapp.controller.EntityPropertyListController</servlet-class>

View file

@ -65,6 +65,7 @@ import edu.cornell.mannlib.vitro.webapp.search.beans.VitroHighlighter;
import edu.cornell.mannlib.vitro.webapp.search.beans.VitroQuery; import edu.cornell.mannlib.vitro.webapp.search.beans.VitroQuery;
import edu.cornell.mannlib.vitro.webapp.search.beans.VitroQueryFactory; import edu.cornell.mannlib.vitro.webapp.search.beans.VitroQueryFactory;
import edu.cornell.mannlib.vitro.webapp.search.lucene.Entity2LuceneDoc; import edu.cornell.mannlib.vitro.webapp.search.lucene.Entity2LuceneDoc;
import edu.cornell.mannlib.vitro.webapp.search.lucene.LuceneIndexFactory;
import edu.cornell.mannlib.vitro.webapp.search.lucene.LuceneIndexer; import edu.cornell.mannlib.vitro.webapp.search.lucene.LuceneIndexer;
import edu.cornell.mannlib.vitro.webapp.search.lucene.LuceneSetup; import edu.cornell.mannlib.vitro.webapp.search.lucene.LuceneSetup;
import edu.cornell.mannlib.vitro.webapp.search.lucene.SimpleLuceneHighlighter; import edu.cornell.mannlib.vitro.webapp.search.lucene.SimpleLuceneHighlighter;
@ -109,20 +110,6 @@ public class FreemarkerPagedSearchController extends FreemarkerHttpServlet imple
} }
} }
public void init(ServletConfig config) throws ServletException {
super.init(config);
LuceneIndexer indexer=(LuceneIndexer)getServletContext()
.getAttribute(LuceneIndexer.class.getName());
indexer.addSearcher(this);
try{
String indexDir = getIndexDir(getServletContext());
getIndexSearcher(indexDir);
}catch(Exception ex){
}
}
@Override @Override
protected ResponseValues processRequest(VitroRequest vreq) { protected ResponseValues processRequest(VitroRequest vreq) {
@ -150,6 +137,7 @@ public class FreemarkerPagedSearchController extends FreemarkerHttpServlet imple
}catch (Throwable e) { }catch (Throwable e) {
startIndex = 0; startIndex = 0;
} }
log.debug("startIndex is " + startIndex);
int hitsPerPage = defaultHitsPerPage; int hitsPerPage = defaultHitsPerPage;
try{ try{
@ -157,6 +145,7 @@ public class FreemarkerPagedSearchController extends FreemarkerHttpServlet imple
} catch (Throwable e) { } catch (Throwable e) {
hitsPerPage = defaultHitsPerPage; hitsPerPage = defaultHitsPerPage;
} }
log.debug("hitsPerPage is " + hitsPerPage);
int maxHitSize = defaultMaxSearchSize; int maxHitSize = defaultMaxSearchSize;
if( startIndex >= defaultMaxSearchSize - hitsPerPage ) if( startIndex >= defaultMaxSearchSize - hitsPerPage )
@ -165,21 +154,20 @@ public class FreemarkerPagedSearchController extends FreemarkerHttpServlet imple
maxHitSize = maxHitSize * 2; maxHitSize = maxHitSize * 2;
hitsPerPage = maxHitSize; hitsPerPage = maxHitSize;
} }
log.debug("maxHitSize is " + maxHitSize);
String indexDir = getIndexDir(getServletContext());
String qtxt = vreq.getParameter(VitroQuery.QUERY_PARAMETER_NAME); String qtxt = vreq.getParameter(VitroQuery.QUERY_PARAMETER_NAME);
Analyzer analyzer = getAnalyzer(getServletContext()); Analyzer analyzer = getAnalyzer(getServletContext());
Query query = null; Query query = null;
try { try {
query = getQuery(vreq, portalFlag, analyzer, indexDir, qtxt); query = getQuery(vreq, portalFlag, analyzer, qtxt);
log.debug("query for '" + qtxt +"' is " + query.toString()); log.debug("query for '" + qtxt +"' is " + query.toString());
} catch (ParseException e) { } catch (ParseException e) {
return doBadQuery(portal, qtxt); return doBadQuery(portal, qtxt);
} }
IndexSearcher searcherForRequest = getIndexSearcher(indexDir); IndexSearcher searcherForRequest = LuceneIndexFactory.getIndexSearcher(getServletContext());
TopDocs topDocs = null; TopDocs topDocs = null;
try{ try{
@ -524,7 +512,7 @@ public class FreemarkerPagedSearchController extends FreemarkerHttpServlet imple
} }
private Query getQuery(VitroRequest request, PortalFlag portalState, private Query getQuery(VitroRequest request, PortalFlag portalState,
Analyzer analyzer, String indexDir, String querystr ) throws SearchException, ParseException { Analyzer analyzer, String querystr ) throws SearchException, ParseException {
Query query = null; Query query = null;
try{ try{
//String querystr = request.getParameter(VitroQuery.QUERY_PARAMETER_NAME); //String querystr = request.getParameter(VitroQuery.QUERY_PARAMETER_NAME);