solr查询问题 javabin

杀丶破狼 发布于 2015/01/14 11:47
阅读 840
收藏 0
/**
	 * 查询
	 */
	@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}}



发现wt内容是javabin,这是什么原因?


大家使用solr时是怎么进行分页的?有别的方法么?



加载中
0
将将将
将将将
要用 SolrQuery对象,然后
  1. query.setStart((page.getCurrentPage() - 1) * page.getPageSize());  
  2.         query.setRows(pageSize);  
杀丶破狼
杀丶破狼
嗯,问题是返回的数据不是json格式的,也不是xml格式的
0
将将将
将将将
在solrj中
0
12小白
12小白

我用的是一个插件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>  

0
程序猿Zz
我也发现从java发送到solr的请求wt是javabin,明明设置的json,不知道什么原因。
0
唐代de豆腐
唐代de豆腐
json 打错了。骚年。
返回顶部
顶部