solr查询例子

写在这里当备忘

		SolrServer server;
		SolrQuery query = new SolrQuery();
		query.setFacet(true);
		
		String sDistrict = request.getParameter("district");
		String sGenre = request.getParameter("genre");
		String sPremiereDate = request.getParameter("premieredate");
		System.out.println(sPremiereDate);
		String sStart = request.getParameter("start");
		String sRows = request.getParameter("rows");
		//query.setQuery("district:" + sDistrict + " AND " + "genre:" + sGenre + " AND " + "premiereDate:" + sPremiereDate);
		String sQuery = "district:" + sDistrict + " AND " + "genre:" + sGenre;
/*		if( sPremiereDate.compareTo("*") == 0 )
		{
			sQuery = "district:" + sDistrict + " AND " + "genre:" + sGenre;
		}
		else
		{
			sQuery = "district:" + sDistrict + " AND " + "genre:" + sGenre + " AND (" + "premiereDate:" + sPremiereDate + " OR " + "premiereDate:" + sPremiereDate + "年)";
		}*/
		query.set("q", sQuery);
		if( sPremiereDate.compareTo("*") == 0 )
		{
		}
		else if( sPremiereDate.compareTo("50年代以前") == 0 )
		{
			query.set( "fq", "limitsDate:[* TO 1949]" );
		}
		else if( sPremiereDate.compareTo("50年代") == 0 )
		{
			query.set( "fq", "limitsDate:[1950 TO 1959]" );
		}
		else if( sPremiereDate.compareTo("60年代") == 0 )
		{
			query.set( "fq", "limitsDate:[1960 TO 1969]" );
		}
		else if( sPremiereDate.compareTo("70年代") == 0 )
		{
			query.set( "fq", "limitsDate:[1970 TO 1979]" );
		}
		else if( sPremiereDate.compareTo("80年代") == 0 )
		{
			query.set( "fq", "limitsDate:[1980 TO 1989]" );
		}
		else if( sPremiereDate != null && sPremiereDate.length() > 0)
		{
			query.set( "fq", "limitsDate:" + sPremiereDate );
		}
		
		if( sStart == null || sStart.length() == 0)
		{
			sStart = "0";
		}
		if( sRows == null || sRows.length() == 0 )
		{
			sRows = "10";
		}
		
		query.setStart(Integer.parseInt(sStart));
		query.setRows(Integer.parseInt(sRows));
		
		List<MovieInfo> movielist = new  ArrayList<MovieInfo>();
		
		
		try {
			server = new HttpSolrServer(SOLR_URL);
			QueryResponse rsp = server.query(query);
			SolrDocumentList docs = rsp.getResults();
			
			for (SolrDocument doc : docs) {
				//String content = (String)((ArrayList) (doc.getFieldValue("name"))).get(0);
				String name = (String) doc.getFieldValue("name");
				System.out.println(name);

				String imgUrl = (String) doc.getFieldValue("imgUrl"); // id is the
																// uniqueKey
																// field
				System.out.println(imgUrl);
				
				String imgUrl_local = (String) doc.getFieldValue("imgUrl_local");
				
				System.out.println(imgUrl_local);
				
				MovieInfo movieinfo = new MovieInfo();
				movieinfo.setImgurl(imgUrl);
				movieinfo.setImgurl_local(imgUrl_local);
				movieinfo.setName(name);
				
				movielist.add(movieinfo);
			}
		} catch (SolrServerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值