我面临的问题是我们发送到 solr (jetty) 的 uri 变得很长,超过 9k 字节,超出了 jetty 的默认限制。
解决方案是从 GET 请求切换到 POST 请求,因为我们不想增加 jetty 可以接受的 requestHeaderSize。
因此,在升级项目时,我们还切换到 Solarium 作为 php solr 客户端。现在的问题是将 POST 设置为默认方法或基于请求的正确方法是什么,以及在什么级别上发生这种情况? solr 客户端或请求还是其他什么?
非常感谢您的帮助。
您可以使用捆绑的 PostBigRequest 插件 https://solarium.readthedocs.io/en/latest/plugins/#postbigrequest-plugin。它将允许您在请求切换为 POST 请求之前使用限制,或者将所有请求作为 POST 请求发送。如果您没有使用 GET 请求的特定需求(例如,如果您有反向代理(例如存在 varnish)则进行缓存),您可以将所有请求切换为 POST 请求。
// create a client instance and autoload the postbigrequest plugin
$client = new Solarium\Client($config);
$client->getPlugin('postbigrequest');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)