It seemed to work better without using tokenizeNameQuery(), i.e. return results when searched for emails. Previously it didn't return anything when tokenized. Not sure why.
This commit is contained in:
parent
97af07766b
commit
1dcbe8491f
1 changed files with 4 additions and 27 deletions
|
@ -39,7 +39,6 @@ import org.apache.solr.common.SolrDocumentList;
|
||||||
/**
|
/**
|
||||||
* This servlet is for servicing JSON requests from Google Refine's
|
* This servlet is for servicing JSON requests from Google Refine's
|
||||||
* Reconciliation Service.
|
* Reconciliation Service.
|
||||||
* TODO: Should create a separate package for Google Refine related servlets
|
|
||||||
*
|
*
|
||||||
* @author Eliza Chan (elc2013@med.cornell.edu)
|
* @author Eliza Chan (elc2013@med.cornell.edu)
|
||||||
*
|
*
|
||||||
|
@ -76,6 +75,7 @@ public class JSONReconcileServlet extends VitroHttpServlet {
|
||||||
String responseStr = (vreq.getParameter("callback") == null) ? qJson
|
String responseStr = (vreq.getParameter("callback") == null) ? qJson
|
||||||
.toString() : vreq.getParameter("callback") + "("
|
.toString() : vreq.getParameter("callback") + "("
|
||||||
+ qJson.toString() + ")";
|
+ qJson.toString() + ")";
|
||||||
|
System.out.println("JSONReconcileServlet result: " + responseStr);
|
||||||
ServletOutputStream out = resp.getOutputStream();
|
ServletOutputStream out = resp.getOutputStream();
|
||||||
out.print(responseStr);
|
out.print(responseStr);
|
||||||
} else { // metadata
|
} else { // metadata
|
||||||
|
@ -119,6 +119,7 @@ public class JSONReconcileServlet extends VitroHttpServlet {
|
||||||
// "q2":{"query":"Dina","type":"http://xmlns.com/foaf/0.1/Person","type_strict":"should"}}
|
// "q2":{"query":"Dina","type":"http://xmlns.com/foaf/0.1/Person","type_strict":"should"}}
|
||||||
String qStr = (String) qObj;
|
String qStr = (String) qObj;
|
||||||
queries.add(qStr);
|
queries.add(qStr);
|
||||||
|
System.out.println("JSONReconcileServlet query: " + qStr);
|
||||||
log.debug("\nquery: " + qStr + "\n");
|
log.debug("\nquery: " + qStr + "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -388,7 +389,8 @@ public class JSONReconcileServlet extends VitroHttpServlet {
|
||||||
// Google Refine specific:
|
// Google Refine specific:
|
||||||
query.setStart(0).setRows(limit);
|
query.setStart(0).setRows(limit);
|
||||||
|
|
||||||
setNameQuery(query, queryStr);
|
// TODO: works better without using tokenizeNameQuery(), need to investigate a bit more
|
||||||
|
query.setQuery(queryStr);
|
||||||
|
|
||||||
// Filter by type
|
// Filter by type
|
||||||
// e.g. http://xmlns.com/foaf/0.1/Person
|
// e.g. http://xmlns.com/foaf/0.1/Person
|
||||||
|
@ -412,32 +414,7 @@ public class JSONReconcileServlet extends VitroHttpServlet {
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setNameQuery(SolrQuery query, String queryStr) {
|
|
||||||
|
|
||||||
if (StringUtils.isBlank(queryStr)) {
|
|
||||||
log.error("No query string");
|
|
||||||
}
|
|
||||||
|
|
||||||
// original code:
|
|
||||||
// String tokenizeParam = (String) request.getParameter("tokenize");
|
|
||||||
// boolean tokenize = "true".equals(tokenizeParam);
|
|
||||||
|
|
||||||
// Note: Stemming is only relevant if we are tokenizing: an untokenized name
|
|
||||||
// query will not be stemmed. So we don't look at the stem parameter until we get to
|
|
||||||
// setTokenizedNameQuery().
|
|
||||||
//if (tokenize) {
|
|
||||||
// setTokenizedNameQuery(query, queryStr, request);
|
|
||||||
//} else {
|
|
||||||
// setUntokenizedNameQuery(query, queryStr);
|
|
||||||
//}
|
|
||||||
|
|
||||||
// Google Refine specific
|
|
||||||
setTokenizedNameQuery(query, queryStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setTokenizedNameQuery(SolrQuery query, String queryStr) {
|
|
||||||
query.setQuery(tokenizeNameQuery(queryStr));
|
|
||||||
}
|
|
||||||
|
|
||||||
private String tokenizeNameQuery(String queryStr) {
|
private String tokenizeNameQuery(String queryStr) {
|
||||||
/* We currently have no use case for a tokenized, unstemmed autocomplete search field, so the option
|
/* We currently have no use case for a tokenized, unstemmed autocomplete search field, so the option
|
||||||
|
|
Loading…
Add table
Reference in a new issue