异常信息

org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1256)↵      ... 48 more↵    Caused by: org.elasticsearch.client.ResponseException: method [POST], host [http://xxxxxxurl], URI [/xxxxxxxx/xxxxxxxx/_search?typed_keys=true&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&sear
ch_type=query_then_fetch&batched_reduce_size=512], status line [HTTP/1.1 400 Bad
Request]↵{"error":{"root_cause":[{"type":"token_mgr_error","reason":"token_mgr_error:
Lexical error at line 1, column 5.  Encountered: <EOF> after :
\"\""}],"type":"search_phase_execution_exception","reason":"all shards
failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"xxxxxxxx","node":"uIjzNu0rRJew8dZu-9nWwA","reason":
{"type":"query_shard_exception","reason":"Failed to parse query [as./]","index_uuid":"uuid","index":"xxxxxxxx","caused_by":{"type":"parse_exception","reason":"parse_exception: Cannot parse 'as./': Lexical error at line 1, column 5.  Encountered: <EOF> after : \"\"","caused_by":{"type":"token_mgr_error","reason":"token_mgr_error: Lexical error at line 1, column 5.  Encountered: <EOF> after : \"\""}}}}]},"status":400}↵        at org.elasticsearch.client.RestClient$1.completed(RestClient.java:540)↵        at
org.elasticsearch.client.RestClient$1.completed(RestClient.java:529)↵       at
org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:122)↵     at
org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(Defaul
tClientExchangeHandlerImpl.java:181)↵       at
org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:448)↵       at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:338)↵     at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)↵       at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)↵     at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)↵     at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)↵     at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)↵     at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)↵     at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)↵        at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)↵      at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)↵      at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)↵     ... 1 more↵"

重点是这句

{“type”:“token_mgr_error”,“reason”:“token_mgr_error: Lexical error at line 1, column 5. Encountered: after : “””}

我们在查询的时候包含特殊字符:“”

所以为了避免搜索出错,我们需要对查询的字符串先进行转义

public static String escape(String s) {StringBuilder sb = new StringBuilder();for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')' || c == ':'|| c == '^' || c == '[' || c == ']' || c == '\"' || c == '{' || c == '}' || c == '~'|| c == '*' || c == '?' || c == '|' || c == '&' || c == '/') {sb.append('\\');}sb.append(c);}return sb.toString();}

ES搜索特殊字符异常Encountered: <EOF> after相关推荐

  1. zip: stdin: unexpected end of file tar: 归档文件中异常的 EOF tar: 归档文件中异常的 EOF tar: Error is not recoverable

    在linux解压报错 zip: stdin: unexpected end of file tar: 归档文件中异常的 EOF tar: 归档文件中异常的 EOF tar: Error is not ...

  2. Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合

    Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...

  3. ES搜索 should与must共用,should失效

    解决ES搜索,should和must共用,should失效的问题 {"query": {"bool": {"must": [{"m ...

  4. 【ES】ES搜索结果中各个字段介绍,hits,took,timeout

    ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...

  5. ES搜索结果中各个字段介绍,hits,took,timeout

    ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...

  6. ES搜索(ElasticSearch)入门理论篇

    ElasticSearch理论篇 SQL查询方式 ES相关知识 聊聊Doug Cutting 什么是Lucene 什么是Nutch 演变 Lucene和ES搜索的关系 ES概述 使用者 对比 ES搜索 ...

  7. 被面试官问懵B了,十亿级数据ES搜索怎么优化?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 面试题 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊 ...

  8. es multi match_PHP 的ES搜索操作

    原文:https://blog.csdn.net/JineD/article/details/106650695 首先从ES的支持的字段说起,ES文档中字段有多种类型 官方文档.这几个比较常用:tex ...

  9. 怎么配置linux中es搜索的主机名,分布式搜索elasticsearch中文分词集成

    elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介 ...

  10. es搜索准实时的理解

    关于搜索的准实时性 1.个人理解的实时性有两点: a. 写入es的文档何时从事务日志写到磁盘上面的lucene段磁盘文件中(可以通过参数配置) b.es查询搜索器的打开频率(比如默认1s) 所以正常情 ...

最新文章

  1. 英特尔宣布推出“Nervana”神经网络处理器
  2. Java深拷贝与浅拷贝
  3. 台风怎么看内存颗粒_生态板、密度板、颗粒板各有好处,看你怎么用了!
  4. Linux---cacti安装后不出图
  5. css-样式重构-代码分享
  6. Python 日期和时间戳的转换
  7. android布局属性详解(转)
  8. 漂亮!商汤EDVR算法获NTIRE 2019 视频恢复比赛全部四项冠军,代码将开源!
  9. 人工智能的数学基础(一):绪论
  10. “/应用程序中的服务器错误
  11. ssh连接局域网内两台主机
  12. springcloud使用LCN分布式事务
  13. 【资源分享】《软件工程-原理、方法与应用(第3版)》(顺便分享查找资料小技巧)
  14. 关于ini读取错误问题?
  15. 内存卡卡速测试软件,手机绝配 这款128G存储卡实测速度惊人
  16. travis ci java_Travis CI使用经验
  17. 一个P,V操作的习题
  18. 石化行业工作调度,如何选择合适的防爆对讲机?
  19. 股票K线5,15,30,60分钟数据接口
  20. 安装oracle11g数据库

热门文章

  1. Xilinx zynqmp USB开发
  2. vi/vim查看空格、制表符等特殊符号
  3. 企业招聘软件测试笔试题,奇虎软件测试工程师招聘面试笔试题题
  4. HDU 2102 拯救公主
  5. iOS 音乐播放器之锁屏歌词+歌词解析+锁屏效果
  6. 【NHOI2019】初中组区赛解题思路
  7. EXCEL如何快速拆分合并单元格数据
  8. 安卓中如何获取MD5码
  9. 离散数学西电版复习笔记——第一章:命题逻辑
  10. Unity关节的使用和举例,布娃娃系统