java api example_Elasticsearch java API example

(); json.put("user", "kimchy"); json.put("postDate", new Date()); json.put("message", "trying out Elasticsearch"); IndexResponse response = client.prepareIndex("twitter", "tweet", "1") .setSource(json) .get(); System.out.println(response); } @Test public void get() throws Exception { GetResponse response = client.prepareGet("twitter", "tweet", "1").get(); Map

source = response.getSource(); System.out.println(source); } @Test public void update() throws Exception { UpdateRequest updateRequest = new UpdateRequest(); updateRequest.index("twitter"); updateRequest.type("tweet"); updateRequest.id("1"); updateRequest.doc(jsonBuilder() .startObject() .field("gender", "male") .field("user", "update") .endObject()); UpdateResponse updateResponse = client.update(updateRequest).get(); System.out.println(updateResponse); } @Test public void stressTest() throws JsonProcessingException { long start = System.currentTimeMillis(); ObjectMapper mapper = new ObjectMapper(); Conference build = Conference.builder().date("2014-11-06").name("Spring eXchange 2014 - London") .keywords(Arrays.asList("java", "spring")).build(); for (int i = 0; i < 50_000; i++) { String id = String.valueOf(i); build.setId(id); build.setName(UUID.randomUUID().toString()); IndexResponse response = client.prepareIndex(INDEX, TYPE, id) .setSource(mapper.writeValueAsBytes(build), XContentType.JSON) .get(); } System.out.println(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - start)); } @Test public void testGet() throws Exception { Timer timer = metrics.timer("twitter_get"); Random random = new Random(); for (int i = 0; i < 5_000_000; i++) { Timer.Context context = timer.time(); client.prepareGet("twitter", "tweet", String.valueOf(random.nextInt(50_000))); context.stop(); } } @Test public void testSearch() throws Exception { SearchRequest request = new SearchRequest(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.from(0); searchSourceBuilder.size(4); String[] fields = {"name", "date"}; // 自定义字段 FetchSourceContext sourceContext = new FetchSourceContext(true, fields, null); searchSourceBuilder.fetchSource(sourceContext); BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder(); boolQueryBuilder.should( // new MatchQueryBuilder("hostIP", HOST) new MatchQueryBuilder("id", "73") // .operator(Operator.AND) // .type(MatchQuery.Type.PHRASE) ); searchSourceBuilder.query(boolQueryBuilder); request.source(searchSourceBuilder); request.indices(INDEX); request.types(TYPE); for (SearchHit hit : client.search(request).actionGet().getHits()) { System.out.println(hit.getSourceAsString()); } } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值