Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java连接Elasticsearch_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Resthighlevelclient - Fatal编程技术网 elasticsearch,resthighlevelclient,Java,elasticsearch,Resthighlevelclient" /> elasticsearch,resthighlevelclient,Java,elasticsearch,Resthighlevelclient" />

使用java连接Elasticsearch

使用java连接Elasticsearch,java,elasticsearch,resthighlevelclient,Java,elasticsearch,Resthighlevelclient,我是java新手,来自python。我知道有很多答案可以将ElasticSearch与java连接起来。但我很难理解,有些已经过时了。在python中,我可以轻松导入elasticsearch模块并连接到它 以下是python中的代码: from elasticsearch import Elasticsearch es = Elasticsearch('localhost', port=9200, http_auth=('username', 'password'), scheme="http

我是
java
新手,来自
python
。我知道有很多答案可以将
ElasticSearch
java
连接起来。但我很难理解,有些已经过时了。在python中,我可以轻松导入
elasticsearch
模块并连接到它

以下是python中的代码:

from elasticsearch import Elasticsearch
es = Elasticsearch('localhost', port=9200, http_auth=('username', 'password'), scheme="http")
但是在
java
中,我在
pom.xml
中包含了
elasticsearch
maven依赖项。我想连接到
elasticsearch
。我知道
RestHighLevelClient
可以完成这项工作。我找到了这个密码。但不知道如何让它连接到弹性搜索

public RestHighLevelClient createESRestClient() {
    CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(esUserName, esPassword));

    RestClientBuilder restClientBuilder = RestClient
            .builder(new HttpHost(esRestclientHost, 9200, "http"));
    // Use this one if your ElasticSearch server is setup to use username & password authentication
    if (esAuthentication) {
        restClientBuilder.setHttpClientConfigCallback(h -> h.setDefaultCredentialsProvider(credentialsProvider));
    }

    return new RestHighLevelClient(restClientBuilder);
}

任何人都可以帮助我或向我展示一些示例代码,以使用java连接弹性搜索。在python中,它分两行完成。帮助我使用
java

对于当前版本的java REST Client 7.5,请按照以下说明操作:

,ElasticSearch客户端:

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

对于当前版本的Java REST客户端版本7.5,请按照以下说明操作:

,ElasticSearch客户端:

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

要使用java连接elasticsearch,可以使用以下代码:

public class ElasticsearchClient {
//private static final Logger log = LoggerFactory.getLogger(ElasticsearchClient.class);
private final RestHighLevelClient client;

public ElasticsearchClient(ElasticsearchConfig elasticsearchConfig) {
    client = new RestHighLevelClient(RestClient.builder(new HttpHost(elasticsearchConfig.getHost(),
            elasticsearchConfig.getPort(), "http")));
}
}
弹性搜索配置:

host: localhost

port: 9200
  • 有关更多信息,请参见和
您甚至可以按照下面的说明操作

您需要在
pom.xml

<dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>${es.client.version}</version>
</dependency>

要使用java连接elasticsearch,可以使用以下代码:

public class ElasticsearchClient {
//private static final Logger log = LoggerFactory.getLogger(ElasticsearchClient.class);
private final RestHighLevelClient client;

public ElasticsearchClient(ElasticsearchConfig elasticsearchConfig) {
    client = new RestHighLevelClient(RestClient.builder(new HttpHost(elasticsearchConfig.getHost(),
            elasticsearchConfig.getPort(), "http")));
}
}
弹性搜索配置:

host: localhost

port: 9200
  • 有关更多信息,请参见和
您甚至可以按照下面的说明操作

您需要在
pom.xml

<dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>${es.client.version}</version>
</dependency>


您的elasticsearch正在运行吗??你在cmd中检查过吗???@Vishwa Ratna,是的,它在端口9200中运行良好。信息:你的elasticsearch正在运行吗??您是否在cmd中检查过它???@Vishwa Ratna,是的,它在端口9200中运行良好。信息性:@Paul Steven您可以查看我答案的更新部分,了解如何在代码内部添加主机和端口,而不是单独的配置文件:)@Paul Steven您现在可以解决您的查询了吗?谢谢。。。。成功了。我想从弹性搜索索引中获取数据。这里是python中获取es索引数据的代码:
query={'query':{'bool':{'must':[{}}]、'must_-not':[]、'should':[]}、'size':10000};results=es.search(index='index name',body=query)
你能用java帮助我获取es索引数据吗?在
httpHost
@中,es的用户名和密码放在哪里?你可以参考此内容,了解如何为es添加身份验证es@PaulSteven您可以浏览我答案的更新部分,了解如何在代码本身中添加主机和端口,而不是单独的配置文件:)@Paul Steven您现在可以解决您的查询了吗?谢谢。。。。成功了。我想从弹性搜索索引中获取数据。这里是python中获取es索引数据的代码:
query={'query':{'bool':{'must':[{}}]、'must_-not':[]、'should':[]}、'size':10000};results=es.search(index='index name',body=query)
你能用java帮助我获取es索引数据吗?es的用户名和密码放在
httpHost
@PaulSteven你可以参考此了解如何为ESA添加身份验证。es的用户名和密码放在httpHost的哪里?@PaulSteven回答。来源于elasticsearch网站:在httphost中es的用户名和密码放在哪里?@PaulSteven回答道。来源于elasticsearch网站: