在这里,我正在尝试创建一个java应用程序,并在应用程序中使用elasticsearch作为第一个阶段,我使用spring创建了一个简单的Dynamic Web Java应用程序。在此应用程序(简单员工记录应用程序)中,我有一个特权登录(管理员和用户)。
我正在尝试在此应用程序中使用弹性搜索
希望您能帮助我在应用程序中使用elasticsearch,以便我能够更好地理解弹性搜索。
答案 0 :(得分:0)
Elasticsearch通过应用查询和过滤器提供了足够数量的java api来获取搜索结果。
查看此链接以获取更多详细信息:
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/client.html
JSONParser parser = new JSONParser();
JSONObject jsonObject = null;
Settings s = ImmutableSettings.settingsBuilder()
.put("cluster.name", SEARCH_CLUSTER_NAME).build();
SEARCH_CLIENT = new TransportClient(s)
.addTransportAddress(new InetSocketTransportAddress(
SEARCH_HOST, Integer.parseInt(SEARCH_PORT)));
SearchResponse searchResponse = SEARCH_CLIENT
.prepareSearch(SEARCH_INDEX_NAME)
.setScroll(new TimeValue(600000))
.setTypes(SEARCH_TYPE_NAME)
.setSearchType(SearchType.SCAN)
.setQuery(QueryBuilders.matchAllQuery())
.execute()
.actionGet();
while (true) {
searchResponse = SEARCH_CLIENT
.prepareSearchScroll(searchResponse.getScrollId())
.setScroll(new TimeValue(600000)).execute().actionGet();
for (SearchHit hit : searchResponse.getHits()) {
jsonObject = (JSONObject) parser.parse(hit
.getSourceAsString());
}
// Break condition: No hits are returned
if (searchResponse.getHits().getHits().length == 0) {
break;
}
}