【发布时间】: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。我已经仔细检查了我的集群名称。 这里有什么问题?
【问题讨论】:
-
您能展示一下您是如何构建获取请求的吗?
-
curl -XGET localhost:9200/company/employee/1
-
我成功地插入了具有相同索引和类型但不同 ID 的数据。但是从我的 java 程序运行时没有得到这个 id 的结果。集群运行状况为黄色
-
我怀疑您正在对不同的集群进行索引和查询。您在集群 conf 和 java 代码中使用相同的集群名称吗?为什么要使用本地节点?
标签: java indexing elasticsearch