使用Java连接到Secured Elastic Search

保罗·史蒂文(Paul Steven):

我想连接安全的ElasticSearch并加载索引数据并将其存储在变量中。我发现RestHighLevelClientjava其中帮助我与弹性搜索建立了联系。

这是代码:

import org.apache.http.HttpHost;
import org.elasticsearch.client.ElasticsearchClient;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;

public class ESConnect {
public static void main(String[] args){
    RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http")));
    System.out.println(client); 
}
}

Maven依赖关系:

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.5.2</version>
</dependency>

但是我ElasticSearchusername保护passwordHttphost没有usernamepassword参数。使用传输客户端找到了此安全连接但是没有正确的答案来与安全连接ElasticSearch所以我不知道如何使用java连接我的安全弹性搜索。接下来,我有一个index名为football_dataElasticSearch我想加载索引数据并使用将其存储在变量中java帮助我使用来连接到安全的elasticSearch和加载索引数据java请为此提供一些解决方案。

Vinit Pillai:

由弹性搜索文档创建您应该推荐他们。现在,请执行以下操作...

final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
        new UsernamePasswordCredentials("user", "password"));

RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200))
        .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
            @Override
            public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
            }
        });

RestHighLevelClient client = new RestHighLevelClient(builder);

现在,关于获取数据,您必须创建一个带有所需查询的searchRequest(我认为,如果数据大于10000,则Match查询将使用滚动api)。点击此链接

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章