首页 文章

ElasticSearch - 无法读取请求数据

提问于
浏览
1

我关注这个来源:

Elastic Search Example

我创建了一段代码:

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

它运行正常:

server

之后,我运行我的Java代码,这是Eclipse和服务器的日志:

errors

我应该配置什么?我看到很少这样的教程,每次都是类似的代码,对我来说永远不会有用 .

谢谢

2 回答

  • 1

    好的,我解决了这个问题 . 实际上,问题在于ElasticSearch Client和ES Java API的版本 .

    将ES Java API升级到与ES Client相同的版本解决了此问题 .

    更多信息:

    Java API 1.x Client

    重要提示:请注意,建议您在客户端和群集端使用相同的版本 . 混合主要版本时,您可能会遇到一些不兼容问题 .

  • 1

    你的jsonDocument有一个错字:

    jsonDocument.put("conten", content);
    

    应该

    jsonDocument.put("content", content);
    

    我相信

相关问题