我关注这个来源:
我创建了一段代码:
import static org.elasticsearch.node.NodeBuilder.nodeBuilder;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.elasticsearch.client.Client;
import org.elasticsearch.node.Node;
public class ElasticSearchAPI {
public static void main(String[] args) {
Node node = nodeBuilder().clusterName("yourclustername").node();
Client client = node.client();
client.prepareIndex("kodcucom", "article", "1")
.setSource(
putJsonDocument(
"ElasticSearch: Java API",
"ElasticSearch provides the Java API, all operations "
+ "can be executed asynchronously using a client object.",
new Date(), new String[] { "elasticsearch" },
"Huseyin Akdogan")).execute().actionGet();
node.close();
}
public static Map<String, Object> putJsonDocument(String title,
String content, Date postDate, String[] tags, String author) {
Map<String, Object> jsonDocument = new HashMap<String, Object>();
jsonDocument.put("title", title);
jsonDocument.put("conten", content);
jsonDocument.put("postDate", postDate);
jsonDocument.put("tags", tags);
jsonDocument.put("author", author);
return jsonDocument;
}
}
我用命令行运行ElasticSearch:
elasticsearch.bat
它运行正常:
之后,我运行我的Java代码,这是Eclipse和服务器的日志:
我应该配置什么?我看到很少这样的教程,每次都是类似的代码,对我来说永远不会有用 .
谢谢
2 回答
好的,我解决了这个问题 . 实际上,问题在于ElasticSearch Client和ES Java API的版本 .
将ES Java API升级到与ES Client相同的版本解决了此问题 .
更多信息:
Java API 1.x Client
你的jsonDocument有一个错字:
应该
我相信