diff --git a/Jenkinsfile b/Jenkinsfile
index dbd16f8407ec34e1e8136bf846db2e916db8e4cf..b91728340bd910d30cfb4f87a30486b8dc1850bb 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -16,11 +16,11 @@ node {
     def pVersion = pom.parent.version
     def snapshot = pVersion.contains("SNAPSHOT")
 
-    if (snapshot) {
-        doDebSnapshot(pName, 'oaipmh-webapp/target', pVersion)
-    }
-    else {
-        doDebRelease(pName, 'oaipmh-webapp/target', pVersion)
-    }
+    #if (snapshot) {
+    #    doDebSnapshot(pName, 'oaipmh-webapp/target', pVersion)
+   # }
+    #else {
+    #    doDebRelease(pName, 'oaipmh-webapp/target', pVersion)
+    #}
   }
 }
diff --git a/oaipmh-core/pom.xml b/oaipmh-core/pom.xml
index 600bd2c00d9c56f94b499f8c74a508677e708fd5..dbdacba73f397173396d848f9bebbbed1fed3251 100644
--- a/oaipmh-core/pom.xml
+++ b/oaipmh-core/pom.xml
@@ -50,10 +50,10 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-			<groupId>org.elasticsearch</groupId>
-			<artifactId>elasticsearch</artifactId>
-			<version>${elasticsearch.version}</version>
-		</dependency>
+	        <groupId>org.elasticsearch.client</groupId>
+	        <artifactId>elasticsearch-rest-high-level-client</artifactId>
+	        <version>${elasticsearch.version}</version>
+        </dependency>
 		<dependency>
 			<groupId>info.textgrid.utils</groupId>
 			<artifactId>httpclients</artifactId>
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java
index 90cda9e10aff7e5951d5b99aabaa658d9dc8c818..9a2a36f53c440d38dcaf3e32d69b68cf235acf88 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java
@@ -39,7 +39,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        contributors.add(hit.getFields().get(field).values().get(0)
+        contributors.add(hit.getFields().get(field).getValues().get(0)
             .toString());
       }
     }
@@ -99,7 +99,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        creators.add(hit.getFields().get(field).values().get(0)
+        creators.add(hit.getFields().get(field).getValues().get(0)
             .toString());
       }
     }
@@ -138,7 +138,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        coverages.add(hit.getFields().get(field).values().get(0)
+        coverages.add(hit.getFields().get(field).getValues().get(0)
             .toString());
       }
     }
@@ -197,7 +197,7 @@ public class DublinCoreFieldLoader {
 
         try {
           dates.add(OAIPMHUtillities.convertDateFormat(
-              hit.getFields().get(field).values().get(0).toString()).toXMLFormat());
+              hit.getFields().get(field).getValues().get(0).toString()).toXMLFormat());
         } catch (ParseException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
@@ -242,7 +242,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        descriptions.add(hit.getFields().get(field).values().get(0)
+        descriptions.add(hit.getFields().get(field).getValues().get(0)
             .toString());
       }
     }
@@ -261,7 +261,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        formats.add(hit.getFields().get(field).values().get(0)
+        formats.add(hit.getFields().get(field).getValues().get(0)
             .toString());
       }
     }
@@ -302,12 +302,12 @@ public class DublinCoreFieldLoader {
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
         for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) {
-          if (hit.getFields().get(field).values().get(i).toString().startsWith("textgrid")) {
-            identifier = hit.getFields().get(field).values().get(i).toString();
+          if (hit.getFields().get(field).getValues().get(i).toString().startsWith("textgrid")) {
+            identifier = hit.getFields().get(field).getValues().get(i).toString();
             identifier = identifier.replace(identifier, "https://textgridrep.org/" + identifier);
             identifiers.add(identifier);
           } else {
-            identifiers.add(hit.getFields().get(field).values().get(i).toString());
+            identifiers.add(hit.getFields().get(field).getValues().get(i).toString());
           }
         }
       }
@@ -351,7 +351,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        languages.add(hit.getFields().get(field).values().get(0).toString());
+        languages.add(hit.getFields().get(field).getValues().get(0).toString());
       }
     }
 
@@ -389,7 +389,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        publishers.add(hit.getFields().get(field).values().get(0).toString());
+        publishers.add(hit.getFields().get(field).getValues().get(0).toString());
       }
     }
 
@@ -428,7 +428,7 @@ public class DublinCoreFieldLoader {
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
         for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) {
-          relations.add(hit.getFields().get(field).values().get(i).toString());
+          relations.add(hit.getFields().get(field).getValues().get(i).toString());
         }
       }
     }
@@ -487,7 +487,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        rights.add(hit.getFields().get(field).values().get(0).toString());
+        rights.add(hit.getFields().get(field).getValues().get(0).toString());
       }
     }
 
@@ -525,7 +525,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        sources.add(hit.getFields().get(field).values().get(0).toString());
+        sources.add(hit.getFields().get(field).getValues().get(0).toString());
       }
     }
 
@@ -581,7 +581,7 @@ public class DublinCoreFieldLoader {
 
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
-        subjects.add(hit.getFields().get(field).values().get(0).toString());
+        subjects.add(hit.getFields().get(field).getValues().get(0).toString());
       }
     }
 
@@ -600,7 +600,7 @@ public class DublinCoreFieldLoader {
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
         for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) {
-          titles.add(hit.getFields().get(field).values().get(i).toString());
+          titles.add(hit.getFields().get(field).getValues().get(i).toString());
         }
       }
     }
@@ -619,11 +619,13 @@ public class DublinCoreFieldLoader {
 
     if (responseWorkValues.isExists()) {
       for (String field : fields) {
-        List<Object> entireTitles = responseWorkValues.getField(field).getValues();
-        if (responseWorkValues.getField(field) != null) {
-          for (int i = 0; i < responseWorkValues.getField(field).getValues().size(); i++) {
-            titles.add(entireTitles.get(i).toString());
-          }
+        String entireTitles = responseWorkValues.getSourceAsMap().get(field).toString();
+        System.out.println(entireTitles);
+        if (responseWorkValues.getSourceAsMap().get(field) != null) {
+        	System.out.println("hallo");
+          //for (int i = 0; i < responseWorkValues.getField(field).getValues().size(); i++) {
+            titles.add(entireTitles);
+          //}
         }
       }
     }
@@ -665,7 +667,7 @@ public class DublinCoreFieldLoader {
     for (String field : fields) {
       if (hit.getFields().get(field) != null) {
         for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) {
-          types.add(hit.getFields().get(field).values().get(i).toString());
+          types.add(hit.getFields().get(field).getValues().get(i).toString());
         }
       }
     }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
index b94d7206b13f27d818585ef1abd7b61ebecca228..92a2db90f0af51de3ac2ee799d228e4501fc3ce2 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
@@ -1,5 +1,6 @@
 package info.textgrid.middleware;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import info.textgrid.middleware.oaipmh.ListIdentifiersType;
@@ -30,7 +31,7 @@ public abstract class IdentifierListDelivererAbstract implements IdentifierListD
    */
   @Override
   public ListIdentifiersType processIdentifierList(String from, String to, String set,
-      String resumptionToken) {
+      String resumptionToken) throws IOException {
     return null;
   }
 
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
index 86523c2c6b3c579e529c65a22906ac99545a0bb3..146f56d2fdf4a74b622a203572da66e691840dbd 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
@@ -4,16 +4,22 @@ import info.textgrid.middleware.oaipmh.HeaderType;
 import info.textgrid.middleware.oaipmh.ListIdentifiersType;
 import info.textgrid.middleware.oaipmh.ResumptionTokenType;
 import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes;
+
+import java.io.IOException;
 import java.text.ParseException;
 import java.util.Hashtable;
 import java.util.Map;
 import javax.xml.datatype.DatatypeConfigurationException;
 import org.apache.commons.logging.LogFactory;
+import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.action.search.SearchResponse;
+import org.elasticsearch.action.search.SearchScrollRequest;
+import org.elasticsearch.client.RequestOptions;
 import org.elasticsearch.common.unit.TimeValue;
 import org.elasticsearch.index.query.QueryBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.SearchHit;
+import org.elasticsearch.search.builder.SearchSourceBuilder;
 
 
 
@@ -94,29 +100,35 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
    * @param to : end value to the range query
    * @return after calling the function "setListIdentifierHeader" the return value is the whole
    *         ListIdentifiers element
+ * @throws IOException 
    */
   public ListIdentifiersType processIdentifierList(String from, String to, String set,
-      String resumptionToken) {
+      String resumptionToken) throws IOException {
 
     // FIXME combine it with with getIdentifierListWithSet and check for empty set
 
     ListIdentifiersType lit = new ListIdentifiersType();
     QueryBuilder query = setOrNot(set, from, to);
     SearchResponse listListIdentiferValues;
-
+    
+    
+    SearchRequest searchRequest = new SearchRequest(OAI_ESClient.getEsIndex());
+    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
+    searchSourceBuilder.query(query);
+    searchSourceBuilder.size(this.searchResponseSize);
+    
+
+    
     if (resumptionToken != null) {
-      listListIdentiferValues = OAI_ESClient.getOaiESClient().prepareSearchScroll(resumptionToken)
-          .setScroll(new TimeValue(lifeTimeResToken)).execute().actionGet();
+    	
+      SearchScrollRequest scrollRequest = new SearchScrollRequest(resumptionToken);
+      scrollRequest.scroll(TimeValue.timeValueSeconds(lifeTimeResToken));
+      listListIdentiferValues = OAI_ESClient.getEsClient().scroll(scrollRequest, RequestOptions.DEFAULT);      
+    	
     } else {
-      listListIdentiferValues = OAI_ESClient
-          .getOaiESClient().prepareSearch(OAI_ESClient.getEsIndex())
-          .setTypes(OAI_ESClient.getEsType())
-          .setScroll(new TimeValue(lifeTimeResToken))
-          .addFields(this.identifierListFields)
-          .setQuery(query)
-          .setSize(this.searchResponseSize)
-          .execute()
-          .actionGet();
+        searchRequest.source(searchSourceBuilder);
+        searchRequest.scroll(TimeValue.timeValueMinutes(lifeTimeResToken));
+        listListIdentiferValues = OAI_ESClient.getEsClient().search(searchRequest, RequestOptions.DEFAULT);        
     }
     listListIdentiferValues =
         hitHandling(listListIdentiferValues, lit, set, listListIdentiferValues.getScrollId());
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererInterface.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererInterface.java
index 2e9b56f3cc793b0b6c6b322c1bff0733c0fe8fd3..81068740ca4c4907c06a0b004875b47ab0715fe3 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererInterface.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererInterface.java
@@ -1,5 +1,6 @@
 package info.textgrid.middleware;
 
+import java.io.IOException;
 import java.text.ParseException;
 import info.textgrid.middleware.oaipmh.ListIdentifiersType;
 
@@ -15,8 +16,9 @@ public interface IdentifierListDelivererInterface {
    * @param resumptionToken
    * @return
    * @throws ParseException
+ * @throws IOException 
    */
   public ListIdentifiersType processIdentifierList(String from, String to, String set,
-      String resumptionToken) throws ParseException;
+      String resumptionToken) throws ParseException, IOException;
 
 }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java b/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
index 1b3e71afaff6543e612df80b02413d7b62e08b89..66d92ec3abc373bbf9f037142c07d0ad295030c1 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
@@ -1,7 +1,14 @@
 package info.textgrid.middleware;
 
+import java.io.IOException;
+
+import org.elasticsearch.action.get.GetAction;
+import org.elasticsearch.action.get.GetRequest;
 import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.common.Strings;
+import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
 
 import info.textgrid.middleware.oaipmh.ListMetadataFormatsType;
 import info.textgrid.middleware.oaipmh.MetadataFormatType;
@@ -16,17 +23,32 @@ public class MetadataFormatListDeliverer {
 	}
 		
 	public ListMetadataFormatsType setMetadataFormatList(String id){
-			
+		
+	    String[] includes = new String[]{TGConstants.URI};
+	    String[] excludes = Strings.EMPTY_ARRAY;
+	    FetchSourceContext fetchSourceContext =
+	        new FetchSourceContext(true, includes, excludes);
+		
 		ListMetadataFormatsType lmft = new ListMetadataFormatsType();
 		MetadataFormatType mft = new MetadataFormatType();
+		GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), id).fetchSourceContext(fetchSourceContext);
 		
-		GetRequestBuilder recordById = OAI_ESClient.getOaiESClient().prepareGet()
+		
+		/*
+		GetRequestBuilder recordById = OAI_ESClient.getEsClient().get(getRequest, GetAction.INSTANCE)
 			.setIndex(OAI_ESClient.getEsIndex())
 			.setType(OAI_ESClient.getEsType())
 			.setFields(TGConstants.URI)
-			.setId(id); 
+			.setId(id); */
+		
+		GetResponse tgObject = null;
 		
-		GetResponse tgObject = recordById.execute().actionGet();
+		try {
+			tgObject=OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
 		
 		if(tgObject.isExists()){
 			setIdExist(true);
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
index e635753b2c41b3164a0497a6970d307b3776d9af..034ae4684f035f90bac56f6a09b178715bb1252d 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
@@ -1,5 +1,6 @@
 package info.textgrid.middleware;
 
+import java.io.IOException;
 import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
@@ -278,8 +279,14 @@ public class OAIPMHImpl implements OAIPMHProducer {
       // listDeliv = this.identifierListDC;
       // }
 
-      ListIdentifiersType listIdentifiers = idListDeliv.processIdentifierList(request.getFrom(),
-          request.getUntil(), request.getSet(), request.getResumptionToken());
+      ListIdentifiersType listIdentifiers=null;
+	try {
+		listIdentifiers = idListDeliv.processIdentifierList(request.getFrom(),
+		      request.getUntil(), request.getSet(), request.getResumptionToken());
+	} catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+	}
 
       if (listIdentifiers != null) {
         oai.setListIdentifiers(listIdentifiers);
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAI_ESClient.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAI_ESClient.java
index a9b902f0cad7337f4518a21b5d39b169c610109a..b6d68b2686f0fed709817210b329899cfc8e297f 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAI_ESClient.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAI_ESClient.java
@@ -1,12 +1,18 @@
 package info.textgrid.middleware;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.http.HttpHost;
 import org.elasticsearch.client.Client;
 import org.elasticsearch.client.transport.TransportClient;
-import org.elasticsearch.common.settings.ImmutableSettings;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestHighLevelClient;
+
 import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.transport.InetSocketTransportAddress;
+
 
 /**
  * Establishing to connection to an ElasticSearch client
@@ -20,11 +26,13 @@ public class OAI_ESClient {
 
 	private Log log = LogFactory.getLog(OAI_ESClient.class);
 	private static String url;
-	private static int port;
+	//private static int port;
+	private static int[] ports;
 	private static String esCluster;
 	private static String esIndex;
 	private static String esType;
-	public static Client oaiESClient;
+	//public static Client oaiESClient;
+	private static RestHighLevelClient esClient;
 	
 	/**
 	 * Constructor for the connection to an ElasticSearch index
@@ -32,23 +40,29 @@ public class OAI_ESClient {
 	 * @param port for the ElasticSearch connection
 	 * @param clusterName indicating the name of the cluster where the index exists
 	 */	
-	@SuppressWarnings("resource")
-	public OAI_ESClient(String url, String thePort, String clusterName){
+
+	public OAI_ESClient(String url, int[] ports, int itemLimit){
 		
-		int port = Integer.parseInt(thePort); 
+		//int port = Integer.parseInt(thePort); 
 		
-		this.log.info("ElasticSearch connection settings:");
+		/*this.log.info("ElasticSearch connection settings:");
 		this.log.info("url = " + url);
 		this.log.info("port = " + port);
-		this.log.info("cluster name = " + clusterName);
-		
+		this.log.info("cluster name = " + clusterName);*/
+
 		OAI_ESClient.setUrl(url);
-		OAI_ESClient.setPort(port);
-		
-		Settings oaiESClusterSettings = ImmutableSettings.settingsBuilder().put("cluster.name", clusterName).build();
+
+		OAI_ESClient.setPorts(ports);
 		
-		oaiESClient = new TransportClient(oaiESClusterSettings)
-				.addTransportAddress(new InetSocketTransportAddress(url, port));		
+
+	    List<HttpHost> hosts = new ArrayList<HttpHost>();
+	    for(int port : ports) {
+	      hosts.add(new HttpHost(url, port, "http"));
+	    }
+
+	    setEsClient(new RestHighLevelClient(
+	        RestClient.builder(
+	            hosts.toArray(new HttpHost[hosts.size()]))));
 	}
 
 	/**
@@ -83,13 +97,7 @@ public class OAI_ESClient {
 		OAI_ESClient.esType = esType;
 	}
 	
-	/**
-	 * 
-	 * @return oaiESClient
-	 */
-	public static Client getOaiESClient() {
-		return oaiESClient;
-	}
+
 	
 	/**
 	 * 
@@ -127,24 +135,33 @@ public class OAI_ESClient {
 	 * 
 	 * @return port
 	 */
-	public static int getPort() {
-		return port;
-	}
+	  public static int[] getPort() {
+		    return ports;
+	  }
 	
 	/**
 	 * 
 	 * @param port
 	 */
-	public static void setPort(int port) {
-		OAI_ESClient.port=port;
-	}
+	  public static void setPorts(int ports[]) {
+		//  System.out.println("SETTER OF PORTS: " +ports[0]);
+		    OAI_ESClient.ports = ports;
+	  }
 
 	/**
 	 * 
 	 * @param oaiClient
 	 */
-	public static void setOaiESClient(Client theOaiClient){
-		OAI_ESClient.oaiESClient = theOaiClient;
+	public static void setOaiESClient(RestHighLevelClient theOaiClient){
+		OAI_ESClient.esClient = theOaiClient;
+	}
+
+	public static RestHighLevelClient getEsClient() {
+		return esClient;
+	}
+
+	public static void setEsClient(RestHighLevelClient esClient) {
+		OAI_ESClient.esClient = esClient;
 	}
 
 }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java
index eccb54aa5338267acdf80473f08625b3df591133..b434b4d881b5a2e9be4fb7a4f2170fc49e6c71aa 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java
@@ -1,10 +1,19 @@
 package info.textgrid.middleware;
 
+import java.io.IOException;
 import java.text.ParseException;
+import java.util.HashMap;
+import java.util.Map;
+
 import javax.xml.datatype.DatatypeConfigurationException;
 import org.apache.commons.logging.LogFactory;
+import org.elasticsearch.action.get.GetRequest;
 import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.common.Strings;
+import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
+
 import info.textgrid.middleware.oaipmh.GetRecordType;
 import info.textgrid.middleware.oaipmh.HeaderType;
 import info.textgrid.middleware.oaipmh.RecordType;
@@ -70,6 +79,11 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
    */
   public GetRecordType getRecordById(String id) {
 
+	    String[] includes = this.fields;
+	    String[] excludes = Strings.EMPTY_ARRAY;
+	    FetchSourceContext fetchSourceContext =
+	        new FetchSourceContext(true, includes, excludes);
+	  
     GetRecordType getRecordType = new GetRecordType();
     RecordType record = new RecordType();
     String changedId = id;
@@ -78,18 +92,20 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
     if (id.startsWith(this.repositoryObjectURIPrefix)) {
       changedId = changedId.replace(this.repositoryObjectURIPrefix, "");
     }
+ 
+    GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), changedId).fetchSourceContext(fetchSourceContext);
+    GetResponse esResultObject=null;
 
-    // TODO Must Index and Type be set here? Isn't it already set in beans.xml?
-    GetRequestBuilder recordById =
-        OAI_ESClient
-            .getOaiESClient()
-            .prepareGet()
-            .setIndex(OAI_ESClient.getEsIndex())
-            .setType(OAI_ESClient.getEsType())
-            .setFields(this.fields)
-            .setId(changedId);
+	try {
 
-    GetResponse esResultObject = recordById.execute().actionGet();
+		esResultObject = 
+				OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
+		System.out.println(esResultObject.getSourceAsMap());
+
+	} catch (IOException e1) {
+		// TODO Auto-generated catch block
+		e1.printStackTrace();
+	}
 
     if (esResultObject.isExists()) {
 
@@ -119,16 +135,26 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
         setRecordHeader(dateOfCreation, identifier, record, dublinCoreBuilder);
       }
 
-      if (this.textgrid == true && esResultObject.getField(this.formatField).getValue().toString()
-          .equals(this.formatToFilter)) {
-
-        String workUri =
-            esResultObject.getField(this.relationToFurtherMetadataObject).getValue().toString();
+      if (this.textgrid == true && esResultObject.getSourceAsMap().get(this.formatField).equals(this.formatToFilter)) {
+    	System.out.println(esResultObject.getSourceAsMap().get(this.formatField).toString());
+    	
+    	System.out.println(esResultObject.getSourceAsMap().get("edition").toString());
+    	Map<String, Object> nestedMap = esResultObject.getSourceAsMap();
+
+    	Map<String, Object> nestedMap2 = (Map<String, Object>)nestedMap.get("edition");
+    	
+    	System.out.println(nestedMap2.get("isEditionOf"));
+    	
+    	//System.out.println(esResultObject.getSourceAsMap().get(this.relationToFurtherMetadataObject).toString());
+    	
+
+    	
+        String workUri = nestedMap2.get("isEditionOf").toString();
         workUri = workUri.substring(this.repositoryObjectURIPrefix.length());
         dublinCoreBuilder = putContentIntoDCFieldLists(esResultObject, furtherDCElements(workUri));
-        identifier = esResultObject.getField(this.identifierField).getValue().toString();
+        identifier = esResultObject.getSourceAsMap().get(this.identifierField).toString();
         String dateOfCreation =
-            esResultObject.getField(this.dateOfObjectCreation).getValue().toString();
+            esResultObject.getSourceAsMap().get(this.dateOfObjectCreation).toString();
         setRecordHeader(dateOfCreation, identifier, record, dublinCoreBuilder);
         record.setMetadata(dublinCoreBuilder.getDC());
       }
@@ -171,20 +197,27 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
    * @return
    */
   private GetResponse furtherDCElements(String id) {
-
+	    String[] includes = this.workFields;
+	    String[] excludes = Strings.EMPTY_ARRAY;
+	    FetchSourceContext fetchSourceContext =
+	        new FetchSourceContext(true, includes, excludes);
     if (!id.endsWith(".0")) {
       id = id.concat(".0");
     }
 
-    GetRequestBuilder getWorkValues =
-        OAI_ESClient.getOaiESClient()
-            .prepareGet()
-            .setIndex(OAI_ESClient.getEsIndex())
-            .setType(OAI_ESClient.getEsType())
-            .setId(id)
-            .setFields(this.workFields);
-
-    GetResponse responseWorkValues = getWorkValues.execute().actionGet();
+    
+    GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), id).fetchSourceContext(fetchSourceContext);
+    GetResponse responseWorkValues=null;
+    
+
+    try {
+		responseWorkValues = OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
+	} catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+	}
+    
+    
 
     // FIXME MAX!!! DO WE NEED THST DATE???
     // FIXME MAX!!! DO WE NEED THST DATE???
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
index 80da54b5dd39be65ef8290c218bf2a5c5627f5ca..9e62806a567c2371b1617884dd8839261e9ae56e 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
@@ -1,5 +1,6 @@
 package info.textgrid.middleware;
 
+import java.io.IOException;
 import java.io.StringReader;
 import java.text.ParseException;
 
@@ -11,8 +12,12 @@ import org.xml.sax.InputSource;
 
 import org.apache.commons.logging.LogFactory;
 import org.classicmayan.tools.ClassicMayanMetsMods;
+import org.elasticsearch.action.get.GetRequest;
 import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.common.Strings;
+import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
 
 import info.textgrid.middleware.oaipmh.GetRecordType;
 import info.textgrid.middleware.oaipmh.HeaderType;
@@ -63,6 +68,11 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
   public void setDatestamps(String idInDatabase) {
 	  String changedId = idInDatabase;
   
+	    String[] includes = new String[] {TGConstants.CREATED, TGConstants.MODIFIED_FIELD};
+	    String[] excludes = Strings.EMPTY_ARRAY;
+	    FetchSourceContext fetchSourceContext =
+	        new FetchSourceContext(true, includes, excludes);
+	  
 	  if(idInDatabase.startsWith("textgrid:")) {
 		 changedId = idInDatabase.substring("textgrid:".length());
 	  }
@@ -70,15 +80,16 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
 	  if(!idInDatabase.contains(".0")) {
 		  changedId = changedId + ".0";
 	  }
-	  //sSystem.out.println(changedId);
-	  GetRequestBuilder recordById = OAI_ESClient.getOaiESClient()			  
-			  .prepareGet()
-			  .setIndex("textgrid-nonpublic")
-	          .setType(OAI_ESClient.getEsType())
-	          .setFields(TGConstants.CREATED, TGConstants.MODIFIED_FIELD)	          
-	          .setId(changedId);
 	  
-	  GetResponse objectInDatabase = recordById.execute().actionGet();	  
+	  GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), changedId).fetchSourceContext(fetchSourceContext);
+	  GetResponse objectInDatabase=null;
+	  
+	  try {
+		objectInDatabase = OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
+	} catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+	}
 	  
 	  dateOfObjectCreation = objectInDatabase.getField(TGConstants.CREATED).getValue().toString();
 	  dateOfLastOblectModification = objectInDatabase.getField(TGConstants.MODIFIED_FIELD).getValue().toString();
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
index 7b434caeb0313fc9b58394c743fed69ff41fc7e1..e43ab7d5a8dbf4243df88f60b99fc44dac81bb2b 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
@@ -1,5 +1,6 @@
 package info.textgrid.middleware;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.text.ParseException;
@@ -7,14 +8,23 @@ import java.util.Hashtable;
 import java.util.Map;
 import javax.xml.datatype.DatatypeConfigurationException;
 import org.apache.commons.logging.LogFactory;
+import org.elasticsearch.action.get.GetRequest;
 import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
+import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.action.search.SearchResponse;
+import org.elasticsearch.action.search.SearchScrollRequest;
 import org.elasticsearch.client.Client;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.client.RestHighLevelClient;
+import org.elasticsearch.common.Strings;
 import org.elasticsearch.common.unit.TimeValue;
 import org.elasticsearch.index.query.QueryBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.SearchHit;
+import org.elasticsearch.search.builder.SearchSourceBuilder;
+import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
+
 import info.textgrid.middleware.oaipmh.HeaderType;
 import info.textgrid.middleware.oaipmh.ListRecordsType;
 import info.textgrid.middleware.oaipmh.MetadataType;
@@ -94,7 +104,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
    * @param client
    * @return
    */
-  public GetResponse furtherDCElements(String id, Client client) {
+  public GetResponse furtherDCElements(String id, RestHighLevelClient client) {
 
     if (id != null) {
       try {
@@ -102,16 +112,27 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
       } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
       }
-
-      GetRequestBuilder getWorkValues =
+	    String[] includes = this.workFields;
+	    String[] excludes = Strings.EMPTY_ARRAY;
+	    FetchSourceContext fetchSourceContext =
+	        new FetchSourceContext(true, includes, excludes);
+      GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), id).fetchSourceContext(fetchSourceContext);
+      
+      /*GetRequestBuilder getWorkValues =
           OAI_ESClient.getOaiESClient()
               .prepareGet()
               .setIndex(OAI_ESClient.getEsIndex())
               .setType(OAI_ESClient.getEsType())
               .setId(id)
-              .setFields(this.workFields);
+              .setFields();*/
 
-      GetResponse responseWorkValues = getWorkValues.execute().actionGet();
+      GetResponse responseWorkValues=null;
+	try {
+		responseWorkValues = OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
+	} catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+	}
 
       return responseWorkValues;
     }
@@ -144,19 +165,36 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
           .must(QueryBuilders.matchPhraseQuery(this.formatField, this.formatToFilter));
     }
 
+    SearchRequest searchRequest = new SearchRequest(OAI_ESClient.getEsIndex());
+    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
+   
+    scrollResp=null;
+    
     if (resumptionToken == null) {
-      scrollResp = OAI_ESClient.getOaiESClient()
-          .prepareSearch(OAI_ESClient.getEsIndex())
-          .setScroll(new TimeValue(lifeTimeResToken))
-          .setTypes(OAI_ESClient.getEsType())
-          .addFields(this.fields)
-          .setQuery(recordFilter)
-          .setSize(this.searchResponseSize)
-          .execute()
-          .actionGet();
+    	
+        searchSourceBuilder.query(recordFilter);
+        searchSourceBuilder.size(this.searchResponseSize); 
+        searchRequest.source(searchSourceBuilder);
+        SearchScrollRequest scrollRequest = new SearchScrollRequest(resumptionToken);
+        scrollRequest.scroll(TimeValue.timeValueSeconds(lifeTimeResToken));        
+        
+        try {
+			scrollResp = OAI_ESClient.getEsClient().scroll(scrollRequest, RequestOptions.DEFAULT);
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}   
+
     } else {
-      scrollResp = OAI_ESClient.getOaiESClient().prepareSearchScroll(resumptionToken)
-          .setScroll(new TimeValue(lifeTimeResToken)).execute().actionGet();
+    	
+        searchRequest.source(searchSourceBuilder);
+        searchRequest.scroll(TimeValue.timeValueMinutes(lifeTimeResToken));
+        try {
+			scrollResp = OAI_ESClient.getEsClient().search(searchRequest, RequestOptions.DEFAULT);
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
     }
 
     log.info("Queried fields: " + this.fields.toString());
@@ -164,7 +202,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
 
     scrollID = scrollResp.getScrollId();
 
-    long completeListSize = scrollResp.getHits().totalHits();
+    long completeListSize = scrollResp.getHits().totalHits;
     if (completeListSize > 0) {
       setFoundItems(true);
 
@@ -191,10 +229,10 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
           // TextGrid search!
           String workUri = "";
 
-          if (this.textgrid == true && hit.getFields().get(this.formatField).values().get(0)
+          if (this.textgrid == true && hit.getFields().get(this.formatField).getValues().get(0)
               .toString().equals(this.formatToFilter)) {
             if (hit.getFields().get(this.relationToFurtherMetadataObject) != null) {
-              workUri = hit.getFields().get(this.relationToFurtherMetadataObject).values().get(0)
+              workUri = hit.getFields().get(this.relationToFurtherMetadataObject).getValues().get(0)
                   .toString().substring(this.repositoryObjectURIPrefix.length());
 
               if (!workUri.endsWith(".0")) {
@@ -203,7 +241,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
             }
 
             dublinCoreBuilder = putContentIntoDCFieldLists(hit,
-                furtherDCElements(workUri, OAI_ESClient.getOaiESClient()));
+                furtherDCElements(workUri, OAI_ESClient.getEsClient()));
 
             buildRecord(recordList, set,
                 hit.getFields().get(this.identifierField).getValue().toString(), dublinCoreBuilder);
@@ -211,7 +249,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
 
           if (this.dariah == true) {
             dublinCoreBuilder = putContentIntoDCFieldLists2(hit,
-                furtherDCElements(hit.getId(), OAI_ESClient.getOaiESClient()));
+                furtherDCElements(hit.getId(), OAI_ESClient.getEsClient()));
             buildRecord(recordList, set,
                 hit.getFields().get(this.identifierField).getValue().toString(), dublinCoreBuilder);
           }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
index e8a98fd410da53dcce7f9793764c0b16ccd5a977..aab625514e0fe5425c3aded8c761d993796a09fc 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
@@ -4,20 +4,29 @@ import info.textgrid.middleware.oaipmh.ListSetsType;
 import info.textgrid.middleware.oaipmh.SetType;
 import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.LinkedHashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
+
+import org.elasticsearch.action.get.GetRequest;
 import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
+import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.action.search.SearchRequestBuilder;
 import org.elasticsearch.action.search.SearchResponse;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.common.Strings;
 import org.elasticsearch.index.query.QueryBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.SearchHit;
+import org.elasticsearch.search.builder.SearchSourceBuilder;
+import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
 
 /**
  *
@@ -51,6 +60,7 @@ public class SetDeliverer {
    */
   public ListSetsType setListBuilder() {
 
+
     ListSetsType setList = new ListSetsType();
     QueryBuilder aggQuery;
     if (this.textgrid) {
@@ -60,24 +70,40 @@ public class SetDeliverer {
           TextGridMimetypes.DARIAH_COLLECTION);
     }
 
-    SearchRequestBuilder request = OAI_ESClient.getOaiESClient()
+    SearchRequest request = new SearchRequest(OAI_ESClient.getEsIndex());
+    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
+    searchSourceBuilder.query(aggQuery);
+    
+	searchSourceBuilder.storedField(this.formatField);
+    searchSourceBuilder.storedField(this.identifierField);
+    searchSourceBuilder.storedField("project.value");
+    searchSourceBuilder.storedField("project.id");
+    searchSourceBuilder.size(100000);
+    
+    /*SearchRequestBuilder request = OAI_ESClient.getEsClient()
         .prepareSearch(OAI_ESClient.getEsIndex()).setTypes(OAI_ESClient.getEsType())
         .setQuery(aggQuery).addField(this.formatField).addField(this.identifierField)
-        .addField("project.value").addField("project.id").setSize(100000);
+        .addField("project.value").addField("project.id").setSize(100000);*/
 
-     SearchResponse getRecordListItems = request.execute().actionGet();
+     SearchResponse getRecordListItems=null;
+	try {
+		getRecordListItems = OAI_ESClient.getEsClient().search(request, RequestOptions.DEFAULT);
+	} catch (IOException e1) {
+		// TODO Auto-generated catch block
+		e1.printStackTrace();
+	} ;
 
     for (SearchHit hit : getRecordListItems.getHits().getHits()) {
-      if (this.dariah == true && hit.getFields().get(this.identifierField).values().get(0)
+      if (this.dariah == true && hit.getFields().get(this.identifierField).getValues().get(0)
           .toString().startsWith("hdl:")) {
-        String pid = hit.getFields().get(this.identifierField).values().get(0).toString();
+        String pid = hit.getFields().get(this.identifierField).getValues().get(0).toString();
         this.identifier.add(pid);
 
       }
 
       if (this.textgrid == true) {
-        String projectName = hit.getFields().get("project.value").values().get(0).toString();
-        String projectID = hit.getFields().get("project.id").values().get(0).toString();
+        String projectName = hit.getFields().get("project.value").getValues().get(0).toString();
+        String projectID = hit.getFields().get("project.id").getValues().get(0).toString();
         String projectSetSpec = projectName.concat(":").concat(projectID);
         this.setSet.put(projectID, projectName);
       }
@@ -105,11 +131,21 @@ public class SetDeliverer {
 
         id = identifierSetSpec.substring(this.repositoryObjectURIPrefix.length());
 
-        GetRequestBuilder collectionNameById =
-            OAI_ESClient.getOaiESClient().prepareGet().setIndex(OAI_ESClient.getEsIndex())
-                .setType(OAI_ESClient.getEsType()).setFields(this.specField).setId(id);
-
-        GetResponse setSpec = collectionNameById.execute().actionGet();
+	    String[] includes = new String[] {this.specField};
+	    String[] excludes = Strings.EMPTY_ARRAY;
+	    FetchSourceContext fetchSourceContext =
+	        new FetchSourceContext(true, includes, excludes);
+        
+	    GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), id).fetchSourceContext(fetchSourceContext);
+        GetResponse setSpec = null;
+       
+        try {
+			setSpec=OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+        
         String setName = "";
         if (setSpec != null && setSpec.isExists()) {
           if (setSpec.getField(this.specField) != null) {
diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
index 4a45af95670464c3cd86f57ab31b1f9ce82ed35a..eae734a85712f96fb117e4dde395fe867be336f8 100644
--- a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
+++ b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
@@ -51,10 +51,12 @@ public class OaiPmhTest {
    */
   @BeforeClass
   public static void setUp() throws Exception {
-    oaiEsClient = new OAI_ESClient("localhost", "9302", "tg-esx2-instance");
+	int[] ports = new int[] {9202};
+	oaiEsClient = new OAI_ESClient("localhost", ports, 100);
     OAI_ESClient.setEsIndex("textgrid-public");
-    OAI_ESClient.setEsType("metadata");
-    
+    OAI_ESClient.setEsType("metadata");    
+
+    OAI_ESClient.setPorts(ports);
     record = new RecordDelivererDC(true, false);
     record.setOaiEsClient(oaiEsClient);
     record.setWorkFields(TGConstants.TGWorkFields);
@@ -166,7 +168,7 @@ public class OaiPmhTest {
    * @throws ParseException
    */
   @Test
-  @Ignore
+ // @Ignore
   public void testGetRequestGetRecordTextGrid() throws ParseException {
 
     record.setContributor(TGConstants.CONTRIBUTOR_LIST);
@@ -191,6 +193,7 @@ public class OaiPmhTest {
     record.setDateOfObjectCreation(TGConstants.CREATED);
     record.setRelationToFurtherMetadataObject(TGConstants.EDITION_ISEDITIONOF);
     record.setRepositoryObjectURIPrefix(TGConstants.ITEM_IDENTIFIER_PREFIX);
+    
     record.setIdentifierField("textgridUri");
 
     System.out.println("Test for the verb \"GetRecord\" with succesfull response");
@@ -234,7 +237,7 @@ public class OaiPmhTest {
    * @throws ParseException
    */
   @Test
-  @Ignore
+  //@Ignore
   public void testListIdentifierSetsDC() throws ParseException {
 	 
     OaiPmhTest.identifierList.setFieldForRange(TGConstants.RANGE_FIELD);
diff --git a/pom.xml b/pom.xml
index 06015ba96de10120c832fae82a870e875f8016c0..9103838191351a4d4bd4fd45c6649766575a5248 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<cxf.version>3.2.8</cxf.version>
 		<spring.version>4.0.2.RELEASE</spring.version>
-		<elasticsearch.version>1.7.5</elasticsearch.version>
+		<elasticsearch.version>6.5.4</elasticsearch.version>
 		<antlr-runtime.version>3.2</antlr-runtime.version>
 		<antlr-maven-plugin.version>3.2</antlr-maven-plugin.version>
 		<slf4j.version>1.7.5</slf4j.version>