社会复仇者
2015-08-18 12:48
采纳率: 100%
浏览 2.1k

在线等Solr的query找不到方法

package com.solr.demo.test;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrRequest.METHOD;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.FacetField;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.RangeFacet;
import org.apache.solr.common.SolrDocumentList;

import com.solr.demo.entity.SearchDocumentList;
import com.solr.demo.entity.SolrKey;
import com.solr.demo.util.DateUtil;

public class SolrTemp {

/**Solr基础查询Demo
 * @param by Gt
 * 2015-8-18
 */

public static void main(String[] args) {
    // TODO Auto-generated method stub
    SearchDocumentList document = new SearchDocumentList();
        HttpSolrServer server = null;
    try {
        //solr的地址
        server = new HttpSolrServer ( "http://node41:8983/solr" );
        //查询的名称
        server.setSoTimeout(60000);
        server.setConnectionTimeout(1000);
        server.setDefaultMaxConnectionsPerHost(100);
        server.setMaxTotalConnections(100);
        server.setFollowRedirects(false);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        System.out.println("<<<<<<<<<<<<<<<<连接Solr失败,请检查!");
        e.printStackTrace();
    }

     //开始组装Solr所需要的参数
        Map<String, String> queryMap=new HashMap<String, String>();
            queryMap.put( SolrKey.Q_TIMESTART, "2015-08-18 00:00:00");
            queryMap.put( SolrKey.Q_TIMEEND,"2015-08-18 19:46:37");
     //将map集合进行jquery对象的组装
            String queryTimeStart = queryMap.get( SolrKey.Q_TIMESTART );
            String queryTimeEnd = queryMap.get( SolrKey.Q_TIMEEND );
            queryTimeStart = DateUtil.parseDate( queryTimeStart ).getTime() + "";
            queryTimeEnd = DateUtil.parseDate( queryTimeEnd ).getTime() + "";
            //组装时间区间
            String timeRange = SolrKey.F_WF_PHOTO_TIME + ":[" + queryTimeStart + " TO " + queryTimeEnd + "]";
            SolrQuery query = new SolrQuery("*:*");
            query.addFilterQuery(timeRange);        
        // 开始查询
        QueryResponse rsp;
        try {
            rsp = server.query(query,METHOD.POST);
            SolrDocumentList results = rsp.getResults();
            // 设置分组结果
            List<FacetField> facetFields = rsp.getFacetFields();
            document.setFacetFields( facetFields );
            // 设置时间范围
            List<RangeFacet> rangeFields = rsp.getFacetRanges();
            document.setRangeFields( rangeFields );
            // 设置花费时间
            document.setQtime( rsp.getQTime() );
            // 设置状态
            document.setStatus( rsp.getStatus() );
            // 设置总个数
            document.setNumFound( results.getNumFound() );
            // 设置普通结果
            document.setDocs( results );
        } catch (SolrServerException e) {
            System.out.println("<<<<<<<<<<<<<<<<<<查询过程发生错误");
            e.printStackTrace();
        }



}

}

报错nosuchmethod,我没有什么配置文件,直接这么连接的

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 社会复仇者 2015-08-18 12:49
    已采纳

    是在没有C币,大神们帮帮忙吧

    点赞 打赏 评论

相关推荐 更多相似问题