Java弹性搜索
在这里,我尝试创建一个java应用程序,并在应用程序中使用elasticsearch,作为第一步,我使用spring创建了一个简单的动态Web java应用程序。在这个应用程序(简单的员工记录应用程序)中,我有一个特权登录(管理员和用户)Java弹性搜索,java,postgresql,jakarta-ee,
elasticsearch,Java,Postgresql,Jakarta Ee,
elasticsearch,在这里,我尝试创建一个java应用程序,并在应用程序中使用elasticsearch,作为第一步,我使用spring创建了一个简单的动态Web java应用程序。在这个应用程序(简单的员工记录应用程序)中,我有一个特权登录(管理员和用户) 管理员-他拥有所有权限 用户-仅具有读取和编辑权限 我试图在这个应用程序中使用弹性搜索 希望您能帮助我在应用程序中使用elasticsearch,以便我能够更好地了解elasticsearch。elasticsearch提供了足够数量的java api,可
- 管理员-他拥有所有权限
- 用户-仅具有读取和编辑权限
希望您能帮助我在应用程序中使用elasticsearch,以便我能够更好地了解elasticsearch。elasticsearch提供了足够数量的java api,可以通过应用查询和过滤器获得搜索结果 有关详细信息,请查看此链接:
关于这个问题,请再具体一点。感谢Ansu重播ma查询。如果我能举个例子的话,这对我理解会更有帮助。@VigneshPrasannaRadhakrishnan您是否已经知道elasticsearch查询和过滤器,或者您是第一次使用它。没有Ansu,但很久以前我使用logstash配置了elasticsearch,使用API从twitter中提取数据。在这里,我试图做一个搜索操作或更多的应用程序,我有点困惑或我空白如何使用它。这仅适用于我的POC。请查看此代码,这基本上创建了elasticsearch客户端并启动match all查询以获得所有结果。您可以根据您的情况尝试不同的查询谢谢Ansu。你的回答对我的POC很有帮助。
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;
}
}