ElasticSearch High Level REST Client

Bilindiği gibi, ElasticSearch açık kaynaklı bir tam metin arama motoru ve veri analiz aracıdır. Geliştirimi baş döndüren hızda devam eden ElasticSearch’ün son olarak 6.0.0.0 sürümü yayımlandı. Bunun üzerine ben de daha öncesinde, yine sizler için ElasticSearch’ü tanıtmak amaçlı oluşturduğum depoyu, Java API noktasında yapılan değişiklikleri baz alarak güncelledim.
 
Bu güncellemeyle Java High Level Rest Client’ı bir backend uygulamasında nasıl kullanabileceğinizi örneklendirmeye çalıştım. Söz konusu nesne version 6.0.0-beta1 ile dahil edildi ve Java Low Level Rest Client üzerinde çalışıyor. Bazı örnekler:
 
Dizin oluşturma

IndexRequest request = new IndexRequest(props.getIndex().getName(), props.getIndex().getType());
request.source(gson.toJson(document), XContentType.JSON);
IndexResponse response = client.index(request);

SearchSourceBuilder kullanımı ve sonuçların gösterimi

sourceBuilder.query(builder);
SearchRequest searchRequest = getSearchRequest();

SearchResponse searchResponse = client.search(searchRequest);
SearchHits hits = searchResponse.getHits();
SearchHit[] searchHits = hits.getHits();
for (SearchHit hit : searchHits) {
Document doc = gson.fromJson(hit.getSourceAsString(), Document.class);
doc.setId(hit.getId());
result.add(doc);
}

Wildcard kullanımı

QueryBuilders.wildcardQuery("_all", "*" + query.toLowerCase() + "*")

Bir belgeyi silmek

DeleteRequest deleteRequest = new DeleteRequest(props.getIndex().getName(), props.getIndex().getType(), id);

Diğer detayları depo üzerinde inceleyebilirsiniz.

No Comments

Post a Comment

Comment
Name
Email
Website