summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/pixelated/adapter/search/contacts.py16
-rw-r--r--service/pixelated/resources/contacts_resource.py2
2 files changed, 11 insertions, 7 deletions
diff --git a/service/pixelated/adapter/search/contacts.py b/service/pixelated/adapter/search/contacts.py
index 0729e146..d981e0bb 100644
--- a/service/pixelated/adapter/search/contacts.py
+++ b/service/pixelated/adapter/search/contacts.py
@@ -44,9 +44,13 @@ def search_addresses(searcher, query):
results = []
for field in ['to', 'cc', 'bcc', 'sender']:
query_parser = QueryParser(field, searcher.schema)
- results.append(searcher.search(query_parser.parse("*%s*" % query),
- limit=None,
- mask=restrict_q,
- groupedby=sorting.FieldFacet(field,
- allow_overlap=True)).groups())
- return flatten(results)
+ results.append(
+ searcher.search(
+ query_parser.parse("*%s*" % query),
+ limit=None,
+ mask=restrict_q,
+ groupedby=sorting.FieldFacet(
+ field,
+ allow_overlap=True),
+ terms=True).matched_terms())
+ return [address[1] for address in flatten(results)]
diff --git a/service/pixelated/resources/contacts_resource.py b/service/pixelated/resources/contacts_resource.py
index c9b81f54..43155774 100644
--- a/service/pixelated/resources/contacts_resource.py
+++ b/service/pixelated/resources/contacts_resource.py
@@ -29,7 +29,7 @@ class ContactsResource(Resource):
self._search_engine = search_engine
def render_GET(self, request):
- query = request.args.get('q', [''])
+ query = request.args.get('q', [''])[-1]
d = deferToThread(lambda: self._search_engine.contacts(query))
d.addCallback(lambda tags: respond_json_deferred(tags, request))