package elasticsearch;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.QueryStringQueryBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.common.net.InetAddresses;
public class EsCommonQueryForResTest {
private static final Logger log = LoggerFactory.getLogger(EsCommonQueryForResTest.class);
String str = "[{\"ip\":\"197.3.155.136\",\"port\":9300},{\"ip\":\"197.3.155.137\",\"port\":9300},{\"ip\":\"197.3.155.138\",\"port\":9300},{\"ip\":\"197.3.155.139\",\"port\":9300}]";
private JSONArray ips = JSONArray.parseArray(str);
public static void main(String[] args) {
EsQueryTimeScriptTest et = new EsQueryTimeScriptTest();
Client client = et.getNewConnection();
SearchRequestBuilder srb = client.prepareSearch();
srb.setIndices("sigmres").setTypes("resinfo");
String quaryinfo ="res_id:7389";
QueryStringQueryBuilder qs = QueryBuilders.queryStringQuery(quaryinfo);
srb.setQuery(qs);
SearchResponse searchresponse = srb.execute().actionGet();
JSONObject response = JSONObject.parseObject(searchresponse.toString());
String phase = response.getJSONObject("hits").getJSONArray("hits")
.getJSONObject(0).getJSONObject("_source").getString("phase");
}
public Client getNewConnection() {
Settings settings = Settings.builder()
.put("client.transport.ping_timeout", "50s")
.put("client.transport.sniff", true)
.put("cluster.name", "myclu").build();
Client client = null;
TransportClient transclient = TransportClient.builder()
.settings(settings).build();
for (int i = 0; i < ips.size(); i++) {
JSONObject obj = ips.getJSONObject(i);
try {
transclient.addTransportAddress(new InetSocketTransportAddress(
InetAddresses.forString(obj.getString("ip")), obj
.getInteger("port")));
} catch (Exception e) {
log.error("getNewConnection Exception_" + e.getMessage(), e);
}
}
client = transclient;
return client;
}
}
elasticsearch 常规java api string查询
最新推荐文章于 2024-07-29 10:48:46 发布