创建索引和Elasticsearch用的Java API添加映射给丢失分析器错误(Creating

2019-08-16 16:12发布

代码是Scala。 这是非常类似于Java代码。

我们的地图索引用于创建指数代码: https://gist.github.com/a16e5946b67c​​6d12b2b8

的是,上述代码使用实用程序来创建索引和映射: https://gist.github.com/4f88033204cd761abec0

的错误,Java的可得: https://gist.github.com/d6c835233e2b606a7074

响应//elasticsearch.domain/maps/_settings:HTTP运行的代码,并收到错误信息后: https://gist.github.com/06ca7112ce1b01de3944

JSON FILES: https://gist.github.com/bbab15d699137f04ad87 https://gist.github.com/73222e300be9fffd6380

附上的JSON文件我加载。我已经证实,它加载正确的JSON文件,并正确输出作为一个字符串到.loadFromSource和.setSource。

任何想法,为什么它不能找到分析仪,即使他们是在_settings? 如果我通过卷曲运行这些文件的JSON他们的工作很好,正确设置的映射。

Answer 1:

我用的是创建索引的代码(在这里找到: 使用Java API定义自定义ElasticSearch分析仪 )的创建像索引设置:

“index.settings.analysis.filter.my_snow.type: ”词干“,”

它在调节路径设置。

我改变了我的索引代码下面来解决这个问题:

def createIndex(client: Client, indexName: String, indexFile: String) {
  //Create index
    client.admin().indices().prepareCreate(indexName)
    .setSource(Utils.loadFileAsString(indexFile))
    .execute()
    .actionGet()
}


文章来源: Creating index and adding mapping in Elasticsearch with java api gives missing analyzer errors