标签: elasticsearch-high-level-restclient

elasticsearch-rest-high-level-client vs elasticsearch-rest-client

我是弹性搜索的新手。开始使用 Elastic 搜索构建 Spring Boot 应用程序。

使用最新的 ES 版本“elasticsearch-7.7.1”并进行集成,我使用以下 maven 依赖项:

 <dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.7.1</version>
 </dependency>
Run Code Online (Sandbox Code Playgroud)

我在应用程序启动时遇到了问题,通过添加以下依赖项来解决:

   <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-client</artifactId>
        <version>7.7.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么elasticsearch-rest-client需要以及它与elasticsearch-rest-high-level-client?

java maven spring-boot elasticsearch-rest-client elasticsearch-high-level-restclient

6
推荐指数
1
解决办法
3490
查看次数

Spring Data Elastic Search 与 Java 高级 REST 客户端

我是弹性搜索的新手。我们正在使用弹性搜索构建一个 Spring 启动应用程序。

为了集成我的 Spring Boot 应用程序,我们可以使用elasticsearch-rest-high-level-clientspring-boot-starter-data-elasticsearch.

任何人都可以详细说明哪个选项总体上更好,为什么?

java maven elasticsearch spring-boot elasticsearch-high-level-restclient

5
推荐指数
1
解决办法
2396
查看次数

Elasticsearch集群负载均衡最佳实践

我想了解我是否需要将负载均衡器作为 Elasticsearch 部署的一部分,或者是否被认为是一种良好实践。

据我了解,Elasticsearch 的高级 REST 客户端和传输客户端可以管理节点之间的负载平衡。因此,客户端需要逗号分隔的端点列表,仅此而已。

中间还有负载均衡器还有什么意义吗?对于哪种情况它可能有用?每种方法的优缺点?

java load-balancing high-availability elasticsearch elasticsearch-high-level-restclient

5
推荐指数
1
解决办法
1万
查看次数

如何从Java中的聚合桶中获取elasticsearch聚合查询结果的值

因此,我已经能够使用elasticsearch高级restclient在Java中根据需要复制elasticsearch查询。问题是我无法检索我想要的值。在提供代码之前,我想解决总体目标,以防有更简单的解决方案(似乎这不必那么困难。)

总体目标:获取“推荐者”字段中每个唯一值“已访问”==true 的文档数量。

我当前的状态:我已经能够在 kibana/elasticsearch 中编写具有所需输出的查询,但是当我在 Java 中复制此查询时,我无法访问我需要的数据。(使用 searchRequest.source().toString 进行验证())。

这是查询:

{
  "aggs":{
    "recommenderIDs": {
      "terms": {
        "field": "recommender"
      },
      "aggs": {
        "visit_stats": {
          "filters": {
            "filters": {
              "visited": {
                "match":{
                  "visited": true
                }
              }
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这就是我的 java 代码中的内容:

// ...
        SearchRequest searchRequest = new SearchRequest(INDEX_REC_RECOMMENDATIONS);
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        String aggregationName = "recommenderId";
        String filterName = "wasVisited";
        TermsAggregationBuilder aggQuery = AggregationBuilders
                .terms(aggregationName)
                .field(RecommendationRepoFieldNames.RECOMMENDER);
        AggregationBuilder aggFilters = AggregationBuilders.filters(
                filterName,
                new FiltersAggregator.KeyedFilter(
                        RecommendationRepoFieldNames.RECOMMENDER,
                        QueryBuilders.termQuery(RecommendationRepoFieldNames.VISITED, …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch elasticsearch-high-level-restclient

0
推荐指数
1
解决办法
5805
查看次数