# Filter empty array feilds

**URL:** <https://discuss.elastic.co/t/filter-empty-array-feilds/15032>\
**Category:** Elasticsearch\
**Created:** [December 27, 2013, 10:26am UTC](https://discuss.elastic.co/t/filter-empty-array-feilds/15032 "2013-12-27T10:26:39Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![chirag04](https://avatars.discourse-cdn.com/v4/letter/c/a87d85/32.png) [@chirag04](https://discuss.elastic.co/u/chirag04)\
**Post date:** [December 27, 2013, 10:26am UTC](https://discuss.elastic.co/t/filter-empty-array-feilds/15032/1 "2013-12-27T10:26:39Z")

</div>

My document structure is something like:

{  
title: string,  
description: string,  
privacy\_mode: string,  
hidden: boolean,  
added\_by: string,  
topics: array  
}

I am trying to query elasticsearch. However I dont want any document with empty topics array field.

Below is a function which builds the query object:

function getQueryObject(data) {  
var orList = [{ "term": {"privacy\_mode": "public", "hidden": false} }]  
if (data.user) {  
orList.push({ "term": {"added\_by": data.user} });  
}

```
var queryObj = {
    "fields": ["title", "topics", "added_by", "img_url", "url", "type"],
    "query": {
        "filtered" : {
            "query" : {
                "multi_match" : {
                    "query" : data.query + '*',
                    "fields" : ["title^4", "topics", "description^3", "tags^2", "body^2", "keywords",
                                "entities", "_id"]
                }
            },
            "filter" : {
                "or": orList
            },
            "filter" : {
                "limit" : {"value" : 15}
            },
            "filter": {
               "script": {
                        "script": "doc['topics'].values.length > 0"
               }
           }
        }
    }
}
return queryObj;

```

};

This still gives me elements with empty topics array. wondering whats wrong!

Thank for the help

---

<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 6, 2017, 1:59am UTC](https://discuss.elastic.co/t/filter-empty-array-feilds/15032/2 "2017-07-06T01:59:17Z")

</div>


