[英]Is there any limit to the size of PUT/POST data while indexing documents in Elastic Search via Http call?
我正在使用Elastic Search 5.0.1创建大量更新的搜索应用程序,其中成千上万条记录被索引到弹性搜索中。 对于使用HttpURLConnection的 Java客户端中的多个索引,此操作每隔几秒钟就会发生一次。 我正在使用弹性搜索的Bulk API,为此我创建了一个PUT实体,其中包含行分隔的JSON字符串,如下所示(如Bulk API文档中所示 ):
action_and_meta_data\n
optional_source\n
action_and_meta_data\n
optional_source\n
....
action_and_meta_data\n
optional_source\n
但是,当文档数超过一定限制时,会出现以下异常:
java.io.IOException: Error writing to server
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:582)
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:594)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1216)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
正如我可以在此处检查的那样,PUT数据大小没有理论限制,只有客户端和服务器施加的限制。
Elastic Search服务是否施加任何此类限制? 如果是,那么这些限制是什么?如何更好地处理这种情况(修改服务器限制或批量查询)?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.