java程序中連接solr並設置參數等


public List getUrlResults(List<String> strList,String serverUrl,pageResult result)throws MalformedURLException, SolrServerException{
        HttpSolrServer  server=new HttpSolrServer(serverUrl);//serverUrl 表示要連接的網址
        List<String> urls=new ArrayList<String>();
        if(strList.size()>0){
            for(int i=0;i<strList.size();i++){
                ModifiableSolrParams params = new ModifiableSolrParams();
                params.set("q", strList.get(i));//*.* 表示查詢條件
                //params.set("defType", "edismax");
                params.set("start", "0");//查詢開始的索引
                //params.set("df", "content");//設置查詢的范圍
                params.set("fl", "url");//設置查詢返回的結果
                result.setPageSize(getFoundNums(strList.get(i).toString(), serverUrl));
                params.set("rows",result.getPageSize());
                //params.set("df","url");
         
                QueryResponse solrResponse;
                try {
                    solrResponse = server.query(params);
                    SolrDocumentList results = solrResponse.getResults();
                    for (SolrDocument solrDocument:results) {  
                        String url = (String) solrDocument.getFieldValue("url"); 
                        urls.add(url);
                    } 
                } catch (SolrServerException e) {
                    e.printStackTrace();
                }
                
            }
        }
        
        return urls;
    }
    
    public List<NewsInfo> getResultsByRule(List<String> ruleList,String serverUrl)throws MalformedURLException, SolrServerException{
        HttpSolrServer  server=new HttpSolrServer(serverUrl);
        List<NewsInfo> urls=new ArrayList<NewsInfo>();
        if(ruleList.size()>0){
            for(int i=0;i<ruleList.size();i++){
                ModifiableSolrParams params = new ModifiableSolrParams();
                params.set("q", ruleList.get(i));//*.* 
                //params.set("defType", "edismax");
                params.set("start", "0");
                params.set("df", "all");
                params.set("fl", "title description ntime url sourceid id");//return fields
                //params.set("rows",2);
                //params.set("df","url");
                QueryResponse solrResponse;
                try {
                    solrResponse = server.query(params);
                    SolrDocumentList results = solrResponse.getResults();
            Integer counts = results.getNumFound(); //獲取查找到的總條數
for (SolrDocument solrDocument:results) { NewsInfo news=new NewsInfo(); news.setDescription((String)solrDocument.getFieldValue("description")); news.setTitle(solrDocument.getFieldValue("title").toString()); news.setUrl((String)solrDocument.getFieldValue("url")); news.setnTime(solrDocument.getFieldValue("ntime").toString()); Integer j=Integer.valueOf(((ArrayList)solrDocument.getFieldValue("sourceid")).get(0).toString()); news.setSourceId(j); news.setId(Integer.valueOf(solrDocument.getFieldValue("id").toString())); urls.add(news); } } catch (SolrServerException e) { e.printStackTrace(); } } } return urls; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM