Java 弹性搜索中的动态映射
我有一个Java 弹性搜索中的动态映射,java,
elasticsearch,Java,
elasticsearch,我有一个.txt文件,其中包含json格式的数据。我想使用以下方法创建映射,但它显示了一个异常: 解析后根类型映射不为空(使用动态模板创建映射时) 如果您能告诉我错误是什么以及如何解决,我将不胜感激 InputStream fileStream; StringBuilder mapTemplate= new StringBuilder(); String line; File mapFile = new File(mapFileBase); //mapFileBase is a string
.txt
文件,其中包含json
格式的数据。我想使用以下方法创建映射,但它显示了一个异常:
解析后根类型映射不为空(使用动态模板创建映射时)
如果您能告诉我错误是什么以及如何解决,我将不胜感激
InputStream fileStream;
StringBuilder mapTemplate= new StringBuilder();
String line;
File mapFile = new File(mapFileBase); //mapFileBase is a string which holds the path name of the .txt file
fileStream = new FileInputStream(mapFile);
BufferedReader br = new BufferedReader(new inputStreamReader(fileStream));
while ((line = br.readLine()) != null) {
mapTemplate.append(line);
}
String mTemplate=mapTemplate.toString();
mTemplate=mTemplate.replaceAll("\n ", "").replaceAll("\\s+", "");
System.out.println(mTemplate);
createIndexRequestBuilder.addMapping(type, mappingBuilder);
// MAPPING DONE
createIndexRequestBuilder.execute().actionGet();
我不能用
XContentBuilder mappingBuilder = XContentFactory.jsonBuilder()
.startObject()
.startObject(type)
.startObject("properties")..........
由于json文件非常庞大。请发布mtemplate的内容。数据有点机密。该json文件中是否存在任何可能的错误?是的,请对该文件进行sanatize,然后发布:)不确定动态映射模板中是否有任何内容可用于攻击您的ES服务器、控制并击败整个世界。是的,很可能映射json不正确,最近ES对映射定义变得非常严格。这就是为什么我们要求查看映射。