This example i will show how to use java api for search from elastic search server that i config on this topic install elastic search on ubuntu 12.04. this example is simple search using java api if you need advance you can learn more at http://www.elasticsearch.org/guide/reference/java-api/search/
Create ElasticSearch.java and have the following code.
package com.blogspot.na5cent.elasticsearch;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress;
/**
*
* @author redcrow
*/
public abstract class ElasticSearch {
//point to elastic search server
private TransportAddress transportAddress = new InetSocketTransportAddress("192.168.1.34", 9300);
//implements by another, return client to argument
public abstract void perform(Client client);
public void execute() {
Client client = null;
try {
client = new TransportClient().addTransportAddress(transportAddress);
perform(client);
} finally {
if (client != null) {
client.close();
}
}
}
}
Search.javapackage com.blogspot.na5cent.elasticsearch;
import java.util.Map;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
/**
*
* @author redcrow
*/
public class Search {
public static void main(String[] args) {
new ElasticSearch() {
@Override
public void perform(Client client) {
//search by terminology "founder" on field "message"
QueryBuilder queryBuilder = QueryBuilders.termQuery("message", "founder");
//search on index "blogspot"
SearchResponse response = client.prepareSearch("blogspot")
.setQuery(queryBuilder)
.execute()
.actionGet();
//show json response
System.out.println("response => " + response.toString());
//list response
for(SearchHit hit : response.getHits().hits()){
for(Map.Entry<String, Object> entry : hit.getSource().entrySet()){
System.out.println("source => {" + entry.getKey() + " : " + entry.getValue() + "}");
}
}
}
}.execute();
}
}
output on console

ไม่มีความคิดเห็น:
แสดงความคิดเห็น