當前位置: 首頁>>代碼示例>>Java>>正文


Java HttpSolrServer類代碼示例

本文整理匯總了Java中org.apache.solr.client.solrj.impl.HttpSolrServer的典型用法代碼示例。如果您正苦於以下問題:Java HttpSolrServer類的具體用法?Java HttpSolrServer怎麽用?Java HttpSolrServer使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


HttpSolrServer類屬於org.apache.solr.client.solrj.impl包,在下文中一共展示了HttpSolrServer類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: persistToSolr

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
private void persistToSolr(Collection<SolrInputDocument> docs) throws SolrServerException, IOException {
    if (docs.isEmpty()) {
        /**
         * @todo Throw an exception here? "DvObject id 9999 does not exist."
         */
        logger.info("nothing to persist");
        return;
    }
    logger.fine("persisting to Solr...");
    SolrServer solrServer = new HttpSolrServer("http://" + systemConfig.getSolrHostColonPort() + "/solr");
    /**
     * @todo Do something with these responses from Solr.
     */
    UpdateResponse addResponse = solrServer.add(docs);
    UpdateResponse commitResponse = solrServer.commit();
}
 
開發者ID:pengchengluo,項目名稱:Peking-University-Open-Research-Data-Platform,代碼行數:17,代碼來源:SolrIndexServiceBean.java

示例2: main

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
public static void main(String[] args) throws MalformedURLException, SolrServerException {
		HttpSolrServer solr = new HttpSolrServer("http://localhost:8983/solr");
//		  ModifiableSolrParams params = new ModifiableSolrParams(); 
//        params.setQuery("name:Samsung ");
//        params.setStart(0);
//        params.setRows(100);
		SolrQuery params = new SolrQuery();
		params.setQuery("*:*");
		params.setSort("score ",ORDER.desc);
		params.setStart(Integer.getInteger("0"));
		params.setRows(Integer.getInteger("100"));

		QueryResponse response = solr.query(params);
		SolrDocumentList results = response.getResults();
		for (int i = 0; i < results.size(); ++i) {
			System.out.println(results.get(i));
		}
	}
 
開發者ID:dimensoft,項目名稱:improved-journey,代碼行數:19,代碼來源:SolrJSearcher.java

示例3: getNewHttpSolrServer

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
/**
 * 
 * @param indexUrl
 * @return
 */
public static HttpSolrServer getNewHttpSolrServer(String indexUrl) {
    if (indexUrl == null) {
        throw new IllegalArgumentException("indexUrl may not be null");
    }
    HttpSolrServer server = new HttpSolrServer(indexUrl);
    server.setSoTimeout(TIMEOUT_SO); // socket read timeout
    server.setConnectionTimeout(TIMEOUT_CONNECTION);
    server.setDefaultMaxConnectionsPerHost(100);
    server.setMaxTotalConnections(100);
    server.setFollowRedirects(false); // defaults to false
    server.setAllowCompression(true);
    server.setMaxRetries(1); // defaults to 0. > 1 not recommended.
    // server.setParser(new XMLResponseParser()); // binary parser is used by default
    server.setRequestWriter(new BinaryRequestWriter());

    return server;
}
 
開發者ID:intranda,項目名稱:goobi-viewer-connector,代碼行數:23,代碼來源:SolrSearchIndex.java

示例4: getDatasetCount

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
public long getDatasetCount() throws SearchException{
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*:*");
    solrQuery.setFilterQueries(SearchFields.TYPE+":datasets",
            SearchFields.PUBLICATION_STATUS+":Published");
    solrQuery.setStart(0);
    solrQuery.setRows(0);
    QueryResponse queryResponse = null;
    try {
        queryResponse = solrServer.query(solrQuery);
        return queryResponse.getResults().getNumFound();
    } catch (HttpSolrServer.RemoteSolrException | SolrServerException ex) {  
        logger.log(Level.INFO, null, ex);
        throw new SearchException("Internal Dataverse Search Engine Error", ex);
    }
}
 
開發者ID:pengchengluo,項目名稱:Peking-University-Open-Research-Data-Platform,代碼行數:17,代碼來源:SolrSearchServiceBean.java

示例5: getDataverseCount

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
public long getDataverseCount() throws SearchException{
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*:*");
    solrQuery.setFilterQueries(SearchFields.TYPE+":dataverses",
            SearchFields.PUBLICATION_STATUS+":Published");
    solrQuery.setStart(0);
    solrQuery.setRows(0);
    QueryResponse queryResponse = null;
    try {
        queryResponse = solrServer.query(solrQuery);
        return queryResponse.getResults().getNumFound();
    } catch (HttpSolrServer.RemoteSolrException | SolrServerException ex) {  
        logger.log(Level.INFO, null, ex);
        throw new SearchException("Internal Dataverse Search Engine Error", ex);
    }
}
 
開發者ID:pengchengluo,項目名稱:Peking-University-Open-Research-Data-Platform,代碼行數:17,代碼來源:SolrSearchServiceBean.java

示例6: updateConfiguration

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
public void updateConfiguration() throws SolrServerException, IOException {
    String solrURL = settingDAO.findByKey(SettingKey.SOLR_URL).getConfigurationValue();
    String solrCore = settingDAO.findByKey(SettingKey.SOLR_CORE).getConfigurationValue();
    
    if (!solrURL.endsWith("/")) {
        solrURL = solrURL + "/";
    }
    solrServer = new HttpSolrServer(solrURL + solrCore);
    try {
        
        if (solrServer.ping().getStatus()!=0) {
            throw new SolrServerException("Solr Server not found! ");
        }    
    } catch (HttpSolrServer.RemoteSolrException ex) {
        throw new SolrServerException(ex.getMessage(),ex);
    }
}
 
開發者ID:felixhusse,項目名稱:bookery,代碼行數:18,代碼來源:BookeryService.java

示例7: createNewSolrServer

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
@Override
public SolrServer createNewSolrServer()
{
  try {
    // setup the server...
    String url = jetty.getBaseUrl().toString() + "/collection1";
    HttpSolrServer s = new HttpSolrServer( url );
    s.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
    s.setDefaultMaxConnectionsPerHost(100);
    s.setMaxTotalConnections(100);
    s.setUseMultiPartPost(random().nextBoolean());

    // where the magic happens
    s.setParser(new BinaryResponseParser());
    s.setRequestWriter(new BinaryRequestWriter());

    return s;
  }
  catch( Exception ex ) {
    throw new RuntimeException( ex );
  }
}
 
開發者ID:europeana,項目名稱:search,代碼行數:23,代碼來源:SolrExampleBinaryTest.java

示例8: testArbitraryJsonIndexing

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
@Test
public void testArbitraryJsonIndexing() throws Exception  {
  HttpSolrServer server = (HttpSolrServer) getSolrServer();
  server.deleteByQuery("*:*");
  server.commit();
  assertNumFound("*:*", 0); // make sure it got in

  // two docs, one with uniqueKey, another without it
  String json = "{\"id\":\"abc1\", \"name\": \"name1\"} {\"name\" : \"name2\"}";
  HttpClient httpClient = server.getHttpClient();
  HttpPost post = new HttpPost(server.getBaseURL() + "/update/json/docs");
  post.setHeader("Content-Type", "application/json");
  post.setEntity(new InputStreamEntity(new ByteArrayInputStream(json.getBytes("UTF-8")), -1));
  HttpResponse response = httpClient.execute(post);
  assertEquals(200, response.getStatusLine().getStatusCode());
  server.commit();
  assertNumFound("*:*", 2);
}
 
開發者ID:europeana,項目名稱:search,代碼行數:19,代碼來源:SolrSchemalessExampleTests.java

示例9: createNewSolrServer

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
@Override
public SolrServer createNewSolrServer() {
  try {
    // setup the server...
    String url = jetty.getBaseUrl().toString() + "/collection1";
    HttpSolrServer s = new HttpSolrServer(url);
    s.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
    s.setDefaultMaxConnectionsPerHost(100);
    s.setMaxTotalConnections(100);
    s.setUseMultiPartPost(random().nextBoolean());
    
    if (random().nextBoolean()) {
      s.setParser(new BinaryResponseParser());
      s.setRequestWriter(new BinaryRequestWriter());
    }
    
    return s;
  } catch (Exception ex) {
    throw new RuntimeException(ex);
  }
}
 
開發者ID:europeana,項目名稱:search,代碼行數:22,代碼來源:SolrSchemalessExampleTests.java

示例10: testSolrException

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
public void testSolrException() throws Throwable {
  // test a connection to a solr server that probably doesn't exist
  // this is a very simple test and most of the test should be considered verified 
  // if the compiler won't let you by without the try/catch
  boolean gotExpectedError = false;
  try {
    // switched to a local address to avoid going out on the net, ns lookup issues, etc.
    // set a 1ms timeout to let the connection fail faster.
    HttpClient httpClient = HttpClientUtil.createClient(null);
    HttpClientUtil.setConnectionTimeout(httpClient,  1);
    SolrServer client = new HttpSolrServer("http://[ff01::114]:11235/solr/", httpClient);
    SolrQuery query = new SolrQuery("test123");
    client.query(query);
    client.shutdown();
  } catch (SolrServerException sse) {
    gotExpectedError = true;
    /***
    assertTrue(UnknownHostException.class == sse.getRootCause().getClass()
            //If one is using OpenDNS, then you don't get UnknownHostException, instead you get back that the query couldn't execute
            || (sse.getRootCause().getClass() == SolrException.class && ((SolrException) sse.getRootCause()).code() == 302 && sse.getMessage().equals("Error executing query")));
    ***/
  }
  assertTrue(gotExpectedError);
}
 
開發者ID:europeana,項目名稱:search,代碼行數:25,代碼來源:SolrExceptionTest.java

示例11: createNewSolrServer

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
@Override
public SolrServer createNewSolrServer() {
  try {
    String url = jetty.getBaseUrl().toString() + "/collection1";
    HttpSolrServer s = new HttpSolrServer(url);
    s.setUseMultiPartPost(random().nextBoolean());
    s.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
    s.setDefaultMaxConnectionsPerHost(100);
    s.setMaxTotalConnections(100);
    s.setParser(new XMLResponseParser());
    s.setRequestWriter(new RequestWriter());
    return s;
  } catch (Exception ex) {
    throw new RuntimeException(ex);
  }
}
 
開發者ID:europeana,項目名稱:search,代碼行數:17,代碼來源:SolrExampleXMLTest.java

示例12: addDocs

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
private void addDocs(SolrInstance solrInstance) throws IOException, SolrServerException {
  List<SolrInputDocument> docs = new ArrayList<>();
  for (int i = 0; i < 10; i++) {
    SolrInputDocument doc = new SolrInputDocument();
    doc.addField("id", i);
    doc.addField("name", solrInstance.name);
    docs.add(doc);
  }
  HttpSolrServer solrServer = new HttpSolrServer(solrInstance.getUrl(), httpClient);
  SolrResponseBase resp;
  try {
    resp = solrServer.add(docs);
    assertEquals(0, resp.getStatus());
    resp = solrServer.commit();
  } finally {
    solrServer.shutdown();
  }
  assertEquals(0, resp.getStatus());
}
 
開發者ID:europeana,項目名稱:search,代碼行數:20,代碼來源:TestLBHttpSolrServer.java

示例13: createNewSolrServer

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
/**
 * Create a new solr server.
 * If createJetty was called, an http implementation will be created,
 * otherwise an embedded implementation will be created.
 * Subclasses should override for other options.
 */
public SolrServer createNewSolrServer() {
  if (jetty != null) {
    try {
      // setup the server...
      String url = jetty.getBaseUrl().toString() + "/" + "collection1";
      HttpSolrServer s = new HttpSolrServer( url );
      s.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
      s.setDefaultMaxConnectionsPerHost(100);
      s.setMaxTotalConnections(100);
      return s;
    }
    catch( Exception ex ) {
      throw new RuntimeException( ex );
    }
  } else {
    return new EmbeddedSolrServer( h.getCoreContainer(), "" );
  }
}
 
開發者ID:europeana,項目名稱:search,代碼行數:25,代碼來源:SolrJettyTestBase.java

示例14: waitForNon403or404or503

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
public  static void waitForNon403or404or503(HttpSolrServer collectionClient)
    throws Exception {
  SolrException exp = null;
  long timeoutAt = System.currentTimeMillis() + 30000;

  while (System.currentTimeMillis() < timeoutAt) {
    boolean missing = false;

    try {
      collectionClient.query(new SolrQuery("*:*"));
    } catch (SolrException e) {
      if (!(e.code() == 403 || e.code() == 503 || e.code() == 404)) {
        throw e;
      }
      exp = e;
      missing = true;
    }
    if (!missing) {
      return;
    }
    Thread.sleep(50);
  }

  fail("Could not find the new collection - " + exp.code() + " : " + collectionClient.getBaseURL());
}
 
開發者ID:europeana,項目名稱:search,代碼行數:26,代碼來源:AbstractFullDistribZkTestBase.java

示例15: invokeCollectionApi

import org.apache.solr.client.solrj.impl.HttpSolrServer; //導入依賴的package包/類
protected NamedList<Object> invokeCollectionApi(String... args) throws SolrServerException, IOException {
  ModifiableSolrParams params = new ModifiableSolrParams();
  SolrRequest request = new QueryRequest(params);
  for (int i = 0; i < args.length - 1; i+=2) {
    params.add(args[i], args[i+1]);
  }
  request.setPath("/admin/collections");

  String baseUrl = ((HttpSolrServer) shardToJetty.get(SHARD1).get(0).client.solrClient)
      .getBaseURL();
  baseUrl = baseUrl.substring(0, baseUrl.length() - "collection1".length());

  HttpSolrServer baseServer = new HttpSolrServer(baseUrl);
  baseServer.setConnectionTimeout(15000);
  baseServer.setSoTimeout(60000 * 5);
  NamedList r = baseServer.request(request);
  baseServer.shutdown();
  return r;
}
 
開發者ID:europeana,項目名稱:search,代碼行數:20,代碼來源:AbstractFullDistribZkTestBase.java


注:本文中的org.apache.solr.client.solrj.impl.HttpSolrServer類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。