elasticsearch短语建议器java api
elasticsearch java API 1.6.0中的PhraseSuggestionBuilder有一个采用字符串的collateQuery方法elasticsearch短语建议器java api,java,json,
elasticsearch,search-suggestion,Java,Json,
elasticsearch,Search Suggestion,elasticsearch java API 1.6.0中的PhraseSuggestionBuilder有一个采用字符串的collateQuery方法 builder .collateQuery("\"match\": {\"title\" : \"{{suggestion}}\"}") .collatePrune(true); 不幸的是,生成器转义了转义引号以生成如下JSON: "collate" : { "query" : "\"match\": {\"title\" :
builder
.collateQuery("\"match\": {\"title\" : \"{{suggestion}}\"}")
.collatePrune(true);
不幸的是,生成器转义了转义引号以生成如下JSON:
"collate" : {
"query" : "\"match\": {\"title\" : \"{{suggestion}}\"}",
"prune" : true
}
有人知道如何在生成JSON时停止转义这个字符串吗
谢谢。我最终使用了RestTemplate模式,而没有使用Java API。翻阅1.6.0 elasticsearch代码,我看不出如何避免collate查询的双重转义<代码>字符串文本=字符串.format(config.getQueryTemplate(),query.getText().toLowerCase());字符串url=addTypes(getIndexUrl(),types)+“/\u search”;尝试{return rest.postForObject(url,text,String.class);}catch(HttpClientErrorException e){LOG.error(“无法搜索:{}”,e.getResponseBodyAsString(),e);throw e;}