通过Java 代码创建索引,设置Mappings映射的时候,有时候我们会报一个这样的错误。
mapping source must be pairs of fieldnames and properties definition.
这是因为我们在创建CreateIndexRequest对象的时候,导入的包不是org.elasticsearch.client.indices;包下的。
- 可以直接换成该包下的CreateIndexRequest对象。
import org.elasticsearch.client.indices;
- 也可以在调用mapping方法时候,多加上一个参数(该方法的第一个参数):"_doc"。如下:
createRequest.mapping("_doc",mapping, XContentType.JSON);