ruflin/elastica+es6 thorws错误:不支持内容类型头[application/x-www-form-urlencoded]

xxls0lw8  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(0)|浏览(199)

有人能帮我解决从ruflin/elastica发送到elasticsearch 6的标题问题吗。似乎ruflin/elastica是旧版本,与elasticsearch 6不太兼容。正如我在这里发现的,elasticsearch改变了其与请求头相关的行为,正如doc所说:从elasticsearch 6.0开始,所有包含正文的rest请求也必须为该正文提供正确的内容类型。
我无法更改ruflin/elastica库的版本,因此我想修复内容类型头,但不知道如何做。有人能帮帮我吗?代码如下所示:

$query = sprintf('{
            "size": %s,
            "_source": %s,
            "query": {
                "bool": {
                    "filter": {
                        "terms": {
                            "ico": %s
                        }
                    }
                }
            }
        }', $this->limit, json_encode($cols), json_encode($icos));

$elastica = new Elastica\Client(["host" => 'localhost']);

$resp = $elastica->request('search_4/_search', Elastica\Request::POST, json_decode($query, TRUE))->getData();

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题