ES搜索特殊字符异常Encountered: <EOF> after
异常信息
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相关推荐
- 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 ...
- Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合
Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...
- ES搜索 should与must共用,should失效
解决ES搜索,should和must共用,should失效的问题 {"query": {"bool": {"must": [{"m ...
- 【ES】ES搜索结果中各个字段介绍,hits,took,timeout
ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...
- ES搜索结果中各个字段介绍,hits,took,timeout
ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...
- ES搜索(ElasticSearch)入门理论篇
ElasticSearch理论篇 SQL查询方式 ES相关知识 聊聊Doug Cutting 什么是Lucene 什么是Nutch 演变 Lucene和ES搜索的关系 ES概述 使用者 对比 ES搜索 ...
- 被面试官问懵B了,十亿级数据ES搜索怎么优化?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 面试题 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊 ...
- es multi match_PHP 的ES搜索操作
原文:https://blog.csdn.net/JineD/article/details/106650695 首先从ES的支持的字段说起,ES文档中字段有多种类型 官方文档.这几个比较常用:tex ...
- 怎么配置linux中es搜索的主机名,分布式搜索elasticsearch中文分词集成
elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介 ...
- es搜索准实时的理解
关于搜索的准实时性 1.个人理解的实时性有两点: a. 写入es的文档何时从事务日志写到磁盘上面的lucene段磁盘文件中(可以通过参数配置) b.es查询搜索器的打开频率(比如默认1s) 所以正常情 ...
最新文章
- 英特尔宣布推出“Nervana”神经网络处理器
- Java深拷贝与浅拷贝
- 台风怎么看内存颗粒_生态板、密度板、颗粒板各有好处,看你怎么用了!
- Linux---cacti安装后不出图
- css-样式重构-代码分享
- Python 日期和时间戳的转换
- android布局属性详解(转)
- 漂亮!商汤EDVR算法获NTIRE 2019 视频恢复比赛全部四项冠军,代码将开源!
- 人工智能的数学基础(一):绪论
- “/应用程序中的服务器错误
- ssh连接局域网内两台主机
- springcloud使用LCN分布式事务
- 【资源分享】《软件工程-原理、方法与应用(第3版)》(顺便分享查找资料小技巧)
- 关于ini读取错误问题?
- 内存卡卡速测试软件,手机绝配 这款128G存储卡实测速度惊人
- travis ci java_Travis CI使用经验
- 一个P,V操作的习题
- 石化行业工作调度,如何选择合适的防爆对讲机?
- 股票K线5,15,30,60分钟数据接口
- 安装oracle11g数据库