diff --git a/.gitignore b/.gitignore
index 894a44cc066a027465cd26d634948d56d13af9af..c51f9c07986daba25519fb6741bb82ac05c89ae6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -102,3 +102,5 @@ venv.bak/
 
 # mypy
 .mypy_cache/
+.DS_Store
+.idea
diff --git a/gazpy/gazetteer/geodict.py b/gazpy/gazetteer/geodict.py
index 77dbad82db6ccbd143894963646efe0de2cf9ffe..9b9061c94e0be2d08edbcbe7093307992b719032 100644
--- a/gazpy/gazetteer/geodict.py
+++ b/gazpy/gazetteer/geodict.py
@@ -28,8 +28,15 @@ class Geodict(Base):
                               sorted_by=self.score_field, sized=True,
                               size=n)
         try:
-            return self.to_element(self.es_client.search("gazetteer", "place", query))
-        except :
+            res = self.to_element(self.es_client.search("gazetteer", "place", query))
+            if not len(res)>0:
+                query = self.qb.query(query_string=True,_all=True, regexp=True, regexp_value=".* ({0}) .*".format(label), field=lang,
+                              value=label, sorted=score,
+                              sorted_by=self.score_field, sized=True,
+                              size=n)
+                res = self.to_element(self.es_client.search("gazetteer", "place", query))
+            return res
+        except Exception as e:
             return []
 
     def get_n_alias_similar(self, alias, lang, n, score=True):
@@ -38,7 +45,13 @@ class Geodict(Base):
                               sorted_by=self.score_field, sized=True,
                               size=n)
         try:
-            return self.to_element(self.es_client.search("gazetteer", "place", query))
+            res= self.to_element(self.es_client.search("gazetteer", "place", query))
+            if not len(res) >0:
+                query = self.qb.query(query_string=True, _all=True, nested=True, nested_field=lang, regexp=True,
+                               regexp_value=".* ({0}) .*".format(alias), field="aliases", value=alias, sorted=score,
+                              sorted_by=self.score_field, sized=True,
+                              size=n)
+            return res
         except :
             return []
         
diff --git a/gazpy/query/query_builder.py b/gazpy/query/query_builder.py
index 56340c01cec56f84dac1cb085755fe9ac56365e6..469e70dd78973b50f43688aa303588f7a8c7bc93 100644
--- a/gazpy/query/query_builder.py
+++ b/gazpy/query/query_builder.py
@@ -19,7 +19,7 @@ class QueryBuilder():
         query_string = kwargs.get("query_string", False)
         nested = kwargs.get("nested", False)
         match_all=kwargs.get("match_all",False)
-
+        _all =kwargs.get("_all",False)
         #Value
         value=kwargs.get("value","")
 
@@ -69,12 +69,12 @@ class QueryBuilder():
 
 
         if query_string:
-            body_query["query"]={"query_string":{"default_field":field,"query":value if not regexped else regexp_value}}
+            ff=(field if not _all else "_all")
+            body_query["query"]={"query_string":{"default_field":ff,"query":value if not regexped else regexp_value}}
         elif term:
             body_query["query"]={"term":{field:value}}
         elif match_all:
             body_query["query"] = {"match_all":{}}
-
         body_query["query"]={"bool":{"must":[body_query["query"]]}}
 
         if min_valued:
diff --git a/setup.py b/setup.py
index 3557326df7cde6321bcbcc93595010b3af4ea719..017017ed9a91bc3bd9ada07846412513b488e312 100644
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ from setuptools.command import install
 
 setup(
     name='gazpy',
-    version='0.1',
+    version='0.3',
     packages=['gazpy', 'gazpy.query', 'gazpy.gazetteer'],
     url='',
     license='MIT',