solr查询问题 javabin
/** * 查询 */ @Test public void search() { try { HttpSolrServer solr = new HttpSolrServer("http://localhost:8080/solr"); ModifiableSolrParams params = new ModifiableSolrParams(); params.set("q", "content:电子"); // params.set("defType", "edismax"); params.set("start",0); params.set("rows", 30); params.set("wt", "josn"); QueryResponse response = solr.query(params); SolrDocumentList results = response.getResults(); System.out.println(response.getResponseHeader()); System.out.println("搜索条数 = " + results.size()); for (int i = 0; i < results.size(); ++i) { System.out.println(i + " --> " + results.get(i)); } System.out.println("--- 结束 ---"); } catch (Exception e) { e.printStackTrace(); } }
上面是具体的代码。
因为考虑到分页问题,所以想solr返回的数据格式是json。设置如下:
params.set("wt", "josn");设置并没有效果。
输出responseHander的内容是:
{status=0,QTime=3,params={start=0,q=content:电子,wt=javabin,version=2,rows=30}}
大家使用solr时是怎么进行分页的?有别的方法么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我也发现从java发送到solr的请求wt是javabin,明明设置的json,不知道什么原因。
我用的是一个插件pager-taglib。前台这样的实现
<pg:pager url="/SearchPlat/search" items="${page.count}" maxPageItems="10" maxIndexPages="10" >
<pg:param name="param" value="<%=queryfilter %>"/>
<pg:index>
<pg:first><a href="${pageUrl}">首页</a></pg:first>
<pg:prev><a href="${pageUrl}">上一页</a></pg:prev>
<pg:pages><a href="${pageUrl}">${pageNumber}</a> </pg:pages>
<pg:next ><a href="${pageUrl}">下一页</a></pg:next>
<pg:last ><a href="${pageUrl}">尾页</a></pg:last>
</pg:index>
</pg:pager>
嗯,问题是返回的数据不是json格式的,也不是xml格式的
要用
SolrQuery对象,然后