我使用 java 和 Jest ( https://github.com/searchbox-io/Jest ) 作为弹性搜索集群的客户端。尝试在http://localhost:9200/myindex/mytype中使用以下结构创建和索引
{
"doc": {
"_content": "mycontent",
"_name": "mypdf.pdf",
"_content_type": "application/pdf"
}
}
XContentBuilder docObject = jsonBuilder().startObject().field("_content", doc).field("_name", name).field("_content_type", contentType)
.field("title", title).field("author", author).endObject();
index1 = new Index.Builder(docObject).build();
source = jsonBuilder()
.startObject()
.field("doc", docObject.string())
.endObject().string();
Index index = new Index.Builder(source).index(baseIndexName).type(ElasticConstants.BASE_TYPE).build();
但是当它被执行时,源不会作为 Json 传递,键“doc”的值作为字符串文本传递,因此没有创建索引。如何使用 Jest 将嵌套的 json 对象传递给 Index.Builder?