Beispiel #1
0
    @Override
    public void addData(Metadata metadata) {
      if (updateUrl == null) {
        return;
      }

      try {

        StringBuffer param = new StringBuffer();
        param.append("<add>");
        param.append("<doc>");
        param.append("<field name=\"id\">SOLRID");
        param.append(solrId.incrementAndGet());
        param.append("</field>");

        String[] metadataNames = metadata.names();
        for (String name : metadataNames) {
          String data = metadata.get(name);
          param.append("<field name=\"");
          param.append(name);
          param.append("\">");
          param.append("<![CDATA[");
          param.append(filterNotCorrectCharacters(data));
          param.append("]]></field>");
        }

        param.append("</doc></add>");

        sendPostCommand(updateUrl, param.toString());
        sendPostCommand(updateUrl, "<commit/>");
      } catch (SolrException e) {
        e.printStackTrace();
      }
    }
 public void assertQEx(String message, SolrQueryRequest req, SolrException.ErrorCode code) {
   try {
     h.query(req);
     fail(message);
   } catch (SolrException e) {
     assertEquals(code.code, e.code());
   } catch (Exception e2) {
     throw new RuntimeException("Exception during query", e2);
   }
 }
Beispiel #3
0
    @Override
    public void init() {
      try {
        String endpoint = getSolrEndpoint();

        if (supportMultipleProjects) {
          String projectCode = Project.getProject().getProjectCode();
          String command =
              endpoint
                  + "solr/admin/cores?action=CREATE&name="
                  + SOLR_INSTANCE_DIR
                  + "_"
                  + projectCode
                  + "&instanceDir="
                  + SOLR_INSTANCE_DIR
                  + "&config=solrconfig.xml&dataDir=data_"
                  + projectCode
                  + "&schema=schema.xml";
          sendGetCommand(command);

          this.updateUrl = endpoint + "solr/" + SOLR_INSTANCE_DIR + "_" + projectCode + "/update";
        } else {
          sendGetCommand(endpoint + "solr/admin/ping");

          this.updateUrl = endpoint + "solr/update";
        }

        String deleteAll = "<delete><query>id:[*TO *]</query></delete>";
        sendPostCommand(updateUrl, deleteAll);
        sendPostCommand(updateUrl, "<commit/>");

      } catch (SolrException se) {
        History.appendToHistory("Problem with SOLR init: " + se.getMessage());
        // se.printStackTrace();
      }
    }