elasticsearch 有几个用于提交文档的 API(http、thrift、memcached)。就使用的资源而言,提交文件的最有效方式是什么?
我的用例将有相当密集的文档流。将文件打包成多部分形式(而不是 PUT)是一种资源浪费。AFAIK thrift 还会重新处理所有文件以将其打包到 thrift 传输中。可能是类似 memcached 的 API 更高效?
elasticsearch 有几个用于提交文档的 API(http、thrift、memcached)。就使用的资源而言,提交文件的最有效方式是什么?
我的用例将有相当密集的文档流。将文件打包成多部分形式(而不是 PUT)是一种资源浪费。AFAIK thrift 还会重新处理所有文件以将其打包到 thrift 传输中。可能是类似 memcached 的 API 更高效?
这取决于你的情况。至少有两种方式:
在搜索后端之前进行文档提取。然后执行 HTTP PUT。节省流量。
您可以将数据传输外包给不同的机制(NFS/HTTP PUT/FTP/whatever)。数据交付后,可以使用FS River导入。