XContentBuilder具有特定的语法,可用于创建json对象。
您可以按照https://www.elastic.co/guide/zh-CN/elasticsearch/client/java-
api/current/index_.html#helpers将字符串转换为
XContentBuilder格式。
如果您在应用程序中加载了相同的字符串。您可以做到。
client.admin().indices().prepareCreate("index_name").setSettings("{setting _ json _ string }").get()只会工作。
如果您想知道JSON在XContentBuilder中的外观,那么就在这里,
XContentBuilder settingsBuilder = XContentFactory.jsonBuilder() .startObject() .startObject("analysis") .startObject("filter") .startObject("filter_shingle") .field("type","shingle") .field("max_shingle_size",2) .field("min_shingle_size",2) .field("output_unigrams",false) .endObject() .startObject("filter_stemmer") .field("type","porter_stem") .field("language","English") .endObject() .endObject() .startObject("tokenizer") .startObject("my_ngram_tokenizer") .field("type","nGram") .field("min_gram",1) .field("max_gram",1) .endObject() .endObject() .startObject("analyzer") .startObject("ShingleAnalyzer") .field("tokenizer","my_ngram_tokenizer") .array("filter","standard","lowercase","filter_stemmer","filter_shingle") .endObject() .endObject() .endObject() .endObject()client.admin().indices().prepareCreate("index_name").setSettings(settingsBuilder).get()


