在工作中直接使用向ES发送http请求的方式来获取结果,一般请求体中所用的参数来自于用户输入,那么里面可能包含英文双引号、反斜杠特殊字符,所以我们对这种特殊情况进行处理
http请求体如下所示,目前的情况是关键词 中国 中可能含有上面的特殊字符,所以我们在发送http请求之前,需要先进行处理
{ "query": { "term": { "normalTitle": "中国" } }, "_source": ["title", "website", "normalTitle", "titleMeaning"] }解决办法
将英文双引号、反斜杠转义即可,方法如下:
public static String dealSpecialCharacter(String str) { if (StringUtils.isBlank(str)) { return str; } str = str.replace("\", "\"); str = str.replace(""", "\""); return str; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)