0
我是使用SOLR作为搜索者的新手。我使用标准的SolrServlet作为搜索器,例如从SOLR搜索中获得结果
final SolrCore core = SolrCore.getSolrCore();
SolrServletRequest solrReq = new SolrServletRequest(core, request);
SolrQueryResponse solrRsp = new SolrQueryResponse();
try {
SolrRequestHandler handler = core.getRequestHandler(solrReq.getQueryType());
if (handler==null) {
log.warning("Unknown Request Handler '" + solrReq.getQueryType() +"' :" + solrReq);
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,"Unknown Request Handler '" + solrReq.getQueryType() + "'", true);
}
core.execute(handler, solrReq, solrRsp);
if (solrRsp.getException() == null) {
QueryResponseWriter responseWriter = core.getQueryResponseWriter(solrReq);
response.setContentType(responseWriter.getContentType(solrReq, solrRsp));
PrintWriter out = response.getWriter();
Set<String> fields = new HashSet<String>();
fields.add("content");
solrRsp.setReturnFields(fields);
responseWriter.write(out, solrReq, solrRsp);
我得到了正确的答案,但我要问我是如何得到响应的内容是从作家写之前?我知道返回是doc,并且我在文档中有一个字段“content”,但是在生成响应页面之前。
非常感谢
感谢您的回答,把事情是,有没有什么办法只是为了获得该领域的内容?因为我不想创建一个新的应用程序,只需使用solr本身,并始终使用相同的查询。我真的,得到SolrServlet的源代码,并重新映射它的web.xml。我正在进入这个servlet,但不知道如何获得该字段的价值。 – boban 2011-02-08 04:11:31