2011-10-19 155 views
1

如何編寫一個休息Web服務來查詢來自java中solr服務器的數據。我有一個java代碼Solr的Web服務從索爾檢索數據

CommonsHttpSolrServer server = null; 

     try 
     { 
      server = new CommonsHttpSolrServer("http://localhost:8080/solr/"); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 

     SolrQuery query = new SolrQuery(); 
     query.setQuery(solrquery); 
     query.set("rows",1000); 
     // query.setQueryType("dismax"); 
     // query.setFacet(true); 
    // query.addFacetField("lastname"); 
    // query.addFacetField("locality4"); 
    // query.setFacetMinCount(2); 
     // query.setIncludeScore(true); 

     try 
     { 
      QueryResponse qr = server.query(query); 

      SolrDocumentList sdl = qr.getResults(); 

我需要通過採取ID作爲查詢參數來獲取Web服務相同的功能來查詢。

回答

1

如果你只是想查詢作爲參數傳遞給Web服務通過ID -

String id = "100145"; 
    String url = "http://localhost:8080/solr/core_name"; // core name needed if using multicore support 
    CommonsHttpSolrServer solrServer; 
    try { 
     solrServer = new CommonsHttpSolrServer(url); 
     ModifiableSolrParams qparams = new ModifiableSolrParams(); 
     qparams.add("q", "id:"+id); 
     QueryResponse qres = solrServer.query(qparams); 
     SolrDocumentList results = qres.getResults(); 
     SolrDocument doc = results.get(0); 
     System.out.println(doc.getFieldValue("id")); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
+0

我想寫一個REST Web服務不是一個預先的Java應用程序 – pavan

+2

此代碼放在web服務。你可以找到很多關於編寫簡單的Web服務和暴露它的文章。 – Jayendra

+0

我得到了一個答案,謝謝大家 – pavan