はこのようにJSON文字列を構築しています:あなたは(かなり印刷で)それを印刷するときジャクソンを使用してマーシャリングの有無に関わらずカスタムJSONを構築できますか?
public String buildAutoCompleteQuery(int from, int pageSize, String criteria) {
StringBuilder autoComplete = new StringBuilder();
autoComplete.append("{").append("\"from\"").append(":").append(from).append(",").append("\"size\"").append(":").append(pageSize).append(",").append("\"query\"").append(":").append("{").append("\"match\"").append(":").append("{")
.append("\"full_text\"").append(":").append("\"").append(criteria).append("\"").append("}").append("}}");
return autoComplete.toString();
}
サンプルパラメータに入れた後、それは次のようになります。
{
"from": 1,
"size": 15,
"query": {
"match": {
"full_text": "Hello"
}
}
}
はにもっと簡単な方法がありますJackson(マーシャリング/データバインディングの有無にかかわらず)を使用してこのJSONオブジェクトを作成しますか?
マーシャリングなしでそれを行う方法はありますか?私が尋ねる理由は、マッチクエリが常に異なるため、JSON文字列としてハードコードする必要があるからです。 –
あなたの要望を詳しく教えてください –
これは本当にRestClientを使用してElasticsearch Queriesをハードコードしています...提供しているAPIを使用していないため、低レベルのRestClientを使用しているため一致するコンテンツがすべて異なります。一部の照会には一致サブセクションがまったくない場合もあります。 –