# Es5.0 + drupal 7

**URL:** <https://discuss.elastic.co/t/es5-0-drupal-7/98318>\
**Category:** Elasticsearch\
**Created:** [August 25, 2017, 4:55am UTC](https://discuss.elastic.co/t/es5-0-drupal-7/98318 "2017-08-25T04:55:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Denis55](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/denis55/32/21482_2.png) [@Denis55](https://discuss.elastic.co/u/Denis55)\
**Post date:** [August 25, 2017, 4:55am UTC](https://discuss.elastic.co/t/es5-0-drupal-7/98318/1 "2017-08-25T04:55:42Z")

</div>

Hi All.  
I have the task of integrating drupal 7 and elasticssearch 5.0. Drupal module which should solve this problem now in DEV and has many bugs. I can't fix last of them.  
When i send this query

```
   {  
      "index":"...",
      "type":"...",
      "body":{  
         "from":0,
         "size":"24",
         "query":{  
            "bool":{  
              "must":{  
                  "match_all":{  
                  }
               },
               "filter":{  
                  "geo_distance":{  
                     "distance":"48.28km",
                     "field_geo_location:latlon":{  
                        "lat":41.845183,
                        "lon":-74.082085
                     }
                  },
                     "term":{  
                        "status":1
                     }
               },

               "must_not":[  
                  {  
                     "term":{  
                        "type":"type 1"
                     }
                  },
                  {  
                     "term":{  
                        "type":"type 2"
                     }
                  },
                  {  
                     "term":{  
                        "type":"type 3"
                     }
                  },
                  {  
                     "term":{  
                        "type":"type 4"
                     }
                  },
                  {  
                     "term":{  
                        "nid":"6452"
                     }
                  }
               ],
               "should":[  
                  {  
                     "term":{  
                        "status":1
                     }
                  },
                  {  
                     "term":{  
                        "author":"3686"
                     }
                  },
                  {  
                     "term":{  
                        "search_api_access_node":"node_access_all:0"
                     }
                  },
                  {  
                     "term":{  
                        "search_api_access_node":"node_access_nodeaccess_userreference:3686"
                     }
                  },
                  {  
                     "term":{  
                        "search_api_access_node":"node_access_nodeaccess_userreference_author:3686"
                     }
                  },
                  {  
                     "term":{  
                        "search_api_access_node":"node_access_nodeaccess_userreference_all:1"
                     }
                  },
                  {  
                     "term":{  
                        "search_api_access_node":"node_access__all"
                     }
                  }
               ]
            }
         },
         "aggs":{  
         	[here some aggs]
         }
      }
   }            

```

I see next error message  
`"[geo_distance] malformed query, expected [END_OBJECT] but found [FIELD_NAME]"`  
Can someone say what the problem is

---

<div class="post-metadata">

**Author:** ![abdon](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/abdon/32/9195_2.png) [@abdon](https://discuss.elastic.co/u/abdon)\
**Post date:** [August 25, 2017, 10:25am UTC](https://discuss.elastic.co/t/es5-0-drupal-7/98318/2 "2017-08-25T10:25:38Z")

</div>

You're providing two filter clauses: a `geo_distance` and a `term` query. So you need to pass in an array to the bool query's `filter` clause using square brackets:

```
"filter": [
        {
          "geo_distance": {
            "distance": "48.28km",
            "field_geo_location:latlon": {
              "lat": 41.845183,
              "lon": -74.082085
            }
          }
        },
        {
          "term": {
            "status": 1
          }
        }
]
```

---

<div class="post-metadata">

**Author:** ![Denis55](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/denis55/32/21482_2.png) [@Denis55](https://discuss.elastic.co/u/Denis55)\
**Post date:** [August 25, 2017, 10:39am UTC](https://discuss.elastic.co/t/es5-0-drupal-7/98318/3 "2017-08-25T10:39:07Z")

</div>

Thanks

---

<div class="post-metadata">

**Author:** ![Denis55](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/denis55/32/21482_2.png) [@Denis55](https://discuss.elastic.co/u/Denis55)\
**Post date:** [August 25, 2017, 10:55am UTC](https://discuss.elastic.co/t/es5-0-drupal-7/98318/4 "2017-08-25T10:55:51Z")

</div>

Once more and i hope final problem with this ES task

```
{  
   "from":0,
   "size":"24",
   "query":{  
      "bool":{  
         "filter":[  
            {  
               "term":{  
                  "status":"1"
               }
            },
            {  
               "geo_distance":{  
                  "distance":"48.28km",
                  "field_geo_location:latlon":{  
                     "lat":41.845183,
                     "lon":-74.082085
                  }
               }
            }
         ],
         "must_not":[  
            {  
               "term":{  
                  "nid":"6452"
               }
            }
         ],
         "should":[  
            {  
               "term":{  
                  "type":"type 1"
               }
            },
            {  
               "term":{  
                  "type":"type 2"
               }
            },
            {  
               "term":{  
                  "type":"type 3"
               }
            },
            {  
               "term":{  
                  "type":"type 4"
               }
            }
         ]
      }
   },
   "aggs":{ 
   [some aggs] 
   }
}

```

This query returns no error but it's looks like [must\_not] and [should] sections ignored.  
How they should looks like?

---

<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:** [September 22, 2017, 10:55am UTC](https://discuss.elastic.co/t/es5-0-drupal-7/98318/5 "2017-09-22T10:55:51Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
