Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RestHighLevelClient-弹性搜索-如何添加特殊字符'/';输入id字段值_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Aws Elasticsearch_Resthighlevelclient - Fatal编程技术网 elasticsearch,aws-elasticsearch,resthighlevelclient,Java,elasticsearch,Aws Elasticsearch,Resthighlevelclient" /> elasticsearch,aws-elasticsearch,resthighlevelclient,Java,elasticsearch,Aws Elasticsearch,Resthighlevelclient" />

Java RestHighLevelClient-弹性搜索-如何添加特殊字符'/';输入id字段值

Java RestHighLevelClient-弹性搜索-如何添加特殊字符'/';输入id字段值,java,elasticsearch,aws-elasticsearch,resthighlevelclient,Java,elasticsearch,Aws Elasticsearch,Resthighlevelclient,在弹性搜索中插入带“/”的字段值时获取异常 代码: 例外情况: Path part [/EACVBSDSFASFA] couldn't be encoded: java.lang.IllegalArgumentException java.lang.IllegalArgumentException: Path part [/EACVBSDSFASFA] couldn't be encoded at org.elasticsearch.client.RequestConverters$Endpoi

在弹性搜索中插入带“/”的字段值时获取异常

代码:

例外情况:

Path part [/EACVBSDSFASFA] couldn't be encoded: java.lang.IllegalArgumentException
java.lang.IllegalArgumentException: Path part [/EACVBSDSFASFA] couldn't be encoded
at org.elasticsearch.client.RequestConverters$EndpointBuilder.encodePart(RequestConverters.java:1142)
at org.elasticsearch.client.RequestConverters$EndpointBuilder.addPathPart(RequestConverters.java:1104)
at org.elasticsearch.client.RequestConverters.endpoint(RequestConverters.java:704)
at org.elasticsearch.client.RequestConverters.index(RequestConverters.java:309)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1761)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1735)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1697)
at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClient.java:929)
at 
.....
.....
Caused by: java.net.URISyntaxException: Illegal character in port number at index 30: 

问题不是因为字段,而是因为您将
/
用作id的一部分

我猜这是一个限制,以防止资源使用必须编码ID的位置,例如。http://localhost:9200/index/_type/%2FEACVBSDSFASFA,注意
/
->
%2F
转换

在任何情况下-首选url安全ID,例如:

  • 增量ID
  • 伪装
  • 如果要使用base64 ID,请使用它的base64url版本-其中
    +
    =
    /
    将替换为URI安全字符
Path part [/EACVBSDSFASFA] couldn't be encoded: java.lang.IllegalArgumentException
java.lang.IllegalArgumentException: Path part [/EACVBSDSFASFA] couldn't be encoded
at org.elasticsearch.client.RequestConverters$EndpointBuilder.encodePart(RequestConverters.java:1142)
at org.elasticsearch.client.RequestConverters$EndpointBuilder.addPathPart(RequestConverters.java:1104)
at org.elasticsearch.client.RequestConverters.endpoint(RequestConverters.java:704)
at org.elasticsearch.client.RequestConverters.index(RequestConverters.java:309)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1761)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1735)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1697)
at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClient.java:929)
at 
.....
.....
Caused by: java.net.URISyntaxException: Illegal character in port number at index 30: