# cURL function for multiple Filter PHP

**URL:** <https://discuss.elastic.co/t/curl-function-for-multiple-filter-php/34627>\
**Category:** Elasticsearch\
**Created:** [November 15, 2015, 8:03pm UTC](https://discuss.elastic.co/t/curl-function-for-multiple-filter-php/34627 "2015-11-15T20:03:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Howzit](https://avatars.discourse-cdn.com/v4/letter/h/eb9ed0/32.png) [@Howzit](https://discuss.elastic.co/u/Howzit)\
**Post date:** [November 15, 2015, 8:03pm UTC](https://discuss.elastic.co/t/curl-function-for-multiple-filter-php/34627/1 "2015-11-15T20:03:38Z")

</div>

I am using ElasticSearch in the Codeigniter Framework.  
My hosting Company do not allow Elasticsearch as service on my managed server.

I am new to Elastic search and am testing it using a remote server at facetflow.

I cannot install Elastic PHP for same reason above.  
I had to resolve in using a CI Library found here: [https://github.com/confact/elasticsearch-codeigniter-library](https://github.com/confact/elasticsearch-codeigniter-library)

I can index, delete, update and do basic searching.

I am stuck where I should create a multiple term search.

Is there any indication on how I should then, with PHP be able to create a multiple term query like the following?

curl -XGET [https://domain/type/\_search](https://domain/type/_search) -d '{ "query": { "filtered": { "query": { "query\_string": { "query": "Car For Sale" } }, "filter": { "bool" : { "must" : [{"term" : { "provid" : "5" } }, {"term" : { "areaid" : "16" } }, {"term" : { "catid" : "3" } }] } } } } }'

---

<div class="post-metadata">

**Author:** ![voipoclay](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/voipoclay/32/4372_2.png) [@voipoclay](https://discuss.elastic.co/u/voipoclay)\
**Post date:** [November 15, 2015, 10:18pm UTC](https://discuss.elastic.co/t/curl-function-for-multiple-filter-php/34627/2 "2015-11-15T22:18:30Z")

</div>

I do something like

```
$searchParams['body']['query']['filtered']['filter']['bool']['must'][]['term']['provid'] = 5;
$searchParams['body']['query']['filtered']['filter']['bool']['must'][]['term']['areaid'] = 16;
$searchParams['body']['query']['filtered']['filter']['bool']['must'][]['term']['catid'] = 3;

```

I also recommend `var_dump(json_encode($searchParams['body'], JSON_PRETTY_PRINT));` to debug your body and use sense plugin.

Also note [filtered query](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html) is deprecated in 2.0 if thats what you are running

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:38pm UTC](https://discuss.elastic.co/t/curl-function-for-multiple-filter-php/34627/3 "2017-07-05T23:38:22Z")

</div>


