Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java elasticsearch标记器设置_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

Java elasticsearch标记器设置

Java elasticsearch标记器设置,java,elasticsearch,Java,elasticsearch,我想把下面的状态转换成JAVA curl -XPUT 'localhost:9200/test' -d ' { "settings" : { "analysis" : { "analyzer" : { "my_ngram_analyzer" : { "tokenizer" : "my_ngram_tokenizer" }

我想把下面的状态转换成JAVA

curl -XPUT 'localhost:9200/test' -d '
{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "my_ngram_analyzer" : {
                    "tokenizer" : "my_ngram_tokenizer"
                }
            },
            "tokenizer" : {
                "my_ngram_tokenizer" : {
                    "type" : "nGram",
                    "min_gram" : "2",
                    "max_gram" : "3",
                }
            }
        }
    }
}'
我试图通过以下方式解决这个问题:

client.admin().indices().prepareCreate("test")
        .setSettings(ImmutableSettings.settingsBuilder().loadFromSource(jsonBuilder()
            .startObject()
                .startObject("analysis")
                    .startObject("analyzer")
                        .startObject("my_ngram_analyzer")
                            .field("tokenizer", "my_ngram_tokenizer")    
                        .endObject()
                        .startObject("tokenizer")
                            .field("type", "nGram")    
                            .field("min_gram", "2")
                            .field("max_gram","3")
                        .endObject()

                    .endObject()
                .endObject()
            .endObject().string()))
        .execute().actionGet();
不幸的是,我在jsonBuilder()上遇到了一个错误

请让我知道。 提前谢谢

您的
startObject()
/
endObject()
似乎与您发布的JSON版本不一致

我认为
.startObject(“标记器”)
之前缺少
endObject()
。我会这样做:

client.admin().indices().prepareCreate("test")
    .setSettings(ImmutableSettings.settingsBuilder().loadFromSource(jsonBuilder()
        .startObject()
            .startObject("analysis")
                .startObject("analyzer")
                    .startObject("my_ngram_analyzer")
                        .field("tokenizer", "my_ngram_tokenizer")    
                    .endObject()
                .endObject()
                .startObject("tokenizer")
                    .field("type", "nGram")    
                    .field("min_gram", "2")
                    .field("max_gram","3")
                .endObject()
            .endObject()
        .endObject().string()))
    .execute().actionGet();

如果不起作用,请提供完整的错误堆栈跟踪。这会很有帮助。

您是否尝试过使用Java?如果是,你遇到了什么问题?@Soo如果答案有用,你能接受吗?说声谢谢就更好了;)