This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.spnotes.search; | |
import org.elasticsearch.action.bulk.BulkRequestBuilder; | |
import org.elasticsearch.action.bulk.BulkResponse; | |
import org.elasticsearch.action.delete.DeleteResponse; | |
import org.elasticsearch.action.get.GetResponse; | |
import org.elasticsearch.client.Client; | |
import org.elasticsearch.client.transport.TransportClient; | |
import org.elasticsearch.common.settings.ImmutableSettings; | |
import org.elasticsearch.common.settings.Settings; | |
import org.elasticsearch.common.transport.InetSocketTransportAddress; | |
import org.elasticsearch.search.lookup.SourceLookup; | |
import java.util.Map; | |
public class ElasticSearchClient { | |
private static final String HOST_NAME ="localhost"; | |
private static final int PORT = 9300; | |
private static Client client; | |
private Client getClient(){ | |
if(client == null){ | |
Settings settings = ImmutableSettings | |
.settingsBuilder() | |
.build(); | |
client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress(HOST_NAME,PORT)); | |
} | |
return client; | |
} | |
public Map getRecordById(String index, String type, String id){ | |
Client client = getClient(); | |
GetResponse getResponse = client.prepareGet(index, type, id).execute().actionGet(); | |
return getResponse.getSource(); | |
} | |
public void insertRecord(String index, String type, Map sourceMap){ | |
Client client = getClient(); | |
BulkRequestBuilder bulkRequestBuilder = client.prepareBulk(); | |
bulkRequestBuilder.add(client.prepareIndex(index, type).setSource(sourceMap)); | |
BulkResponse bulkResponse = bulkRequestBuilder.execute().actionGet(); | |
} | |
public void deleteRecord(String index, String type, String id){ | |
Client client = getClient(); | |
DeleteResponse deleteResponse = client.prepareDelete(index,type,id).execute().actionGet(); | |
System.out.println( deleteResponse.getId()); | |
} | |
} |