【问题标题】:IndexMissingException while creating index in elasticsaerch在elasticsearch中创建索引时出现IndexMissingException
【发布时间】:2014-01-14 21:53:46
【问题描述】:

我是 Elasticsearch 的新手。我在 Curl Api 中尝试过弹性搜索的 CRUD 过程。但是不,我想编写如下的 java 代码:

public class App {

public static void main(String[] args){


    Node node = nodeBuilder().local(true).clusterName("myclustername").node();
    Client client = node.client();

    try {
        IndexResponse indexResponse = client
                .prepareIndex("company", "employee", "367")
                .setSource(
                        jsonBuilder()
                                .startObject()
                                .field("name", "surendra")
                                .field("address", "kapan")
                                .endObject()
                )
                .execute()
                .actionGet();

    } catch (IOException e) {
        e.printStackTrace();
    }

}

}

代码运行成功,没有错误。但是当我发送 Get 请求时,它会发送 IndexMissingException。我已经仔细检查了我的集群名称。 这里有什么问题?

【问题讨论】:

  • 您能展示一下您是如何构建获取请求的吗?
  • 我成功地插入了具有相同索引和类型但不同 ID 的数据。但是从我的 java 程序运行时没有得到这个 id 的结果。集群运行状况为黄色
  • 我怀疑您正在对不同的集群进行索引和查询。您在集群 conf 和 java 代码中使用相同的集群名称吗?为什么要使用本地节点?

标签: java indexing elasticsearch


【解决方案1】:

我可能是错的,但我只是看到了不同之处,所以我想我应该问你。

您在 Java 代码中插入 ID=367 的记录。 但是在检索时,您正在为 ID=1 执行它

curl -XGET localhost:9200/company/employee/1

尝试以下命令: curl -XGET localhost:9200/company/employee/367

您也可以尝试使用 curl 命令插入记录并尝试检索它。

问候, 杰伊什·博亚尔

【讨论】:

  • 您可以尝试使用 head 插件来检查记录是否插入到您的索引中。
猜你喜欢
  • 1970-01-01
  • 2019-01-30
  • 2017-01-16
  • 2018-07-26
  • 2021-05-06
  • 2021-07-15
  • 2015-06-25
  • 2017-04-29
  • 1970-01-01
相关资源
最近更新 更多