2017-05-23 52 views
0

如何从java应用程序发布数据到elasticsearch? 对于弹性搜索引擎进行查询,必需的Maven依赖关系是什么?如何发布数据以通过java进行弹性搜索?

我做了很多研究,但感到困惑。

在此先感谢!!!!!

+0

这个问题并没有真正有很大的意义。 Maven是一个构建工具。你在问如何建立一个小型客户端来发布数据到弹性搜索,然后用Maven运行这个客户端? – rmlan

+0

是的,我问如何建立一个小型客户端发布数据到java的弹性搜索。 –

回答

1

Elasticsearch的最新版本就足够了(寻找在Maven仓库https://mvnrepository.com/artifact/org.elasticsearch最新版本):

<dependency> 
    <groupId>org.elasticsearch</groupId> 
    <artifactId>elasticsearch</artifactId> 
    <version>5.4.0</version> 
</dependency> 
<dependency> 
    <groupId>org.elasticsearch.client</groupId> 
    <artifactId>rest</artifactId> 
    <version>5.4.0</version> 
</dependency> 

另外,如果你熟悉斯卡拉(以java这些操作都差不多),你可以用这个例子来创建json对象:https://github.com/sslavian812/needls2/blob/master/src/main/scala/ru/yandex/spark/ElasticSearchHelper.scala#L42

elasticsearch客户请求示例:https://github.com/sslavian812/needls2/blob/master/src/main/scala/ru/yandex/spark/ElasticSearchHelper.scala#L125

+0

谢谢吨!!!!!!!!这真的很有帮助。 –

+0

不客气! –

1

你需要做到以下几点:

  • 克隆elasticsearch的行家依赖(从here
  • 使用传输客户端或节点客户端连接到Elasticsearch(here's解释这两种类型和here是文档实施例)
  • 使用IndexRequest到索引文件,例如:

    IndexRequest request = new IndexRequest("<index_name>","<document_type>", "<document_id>"); request.source("<document_json>"); IndexResponse response = client.index(indexRequest).actionGet();

+0

非常感谢它的帮助。但是如何在java中编写一个post请求? –

+0

'client.index(indexRequest).actionGet()'会为你做到这一点 –