diff options
author | Bruno Wagner <bwagner@riseup.net> | 2015-11-18 19:01:52 -0200 |
---|---|---|
committer | Bruno Wagner <bwagner@riseup.net> | 2015-11-18 19:02:16 -0200 |
commit | ba3fe6aca3588262e76d467ae004d0818c987358 (patch) | |
tree | acdadd51424a341c05bfc5b50f04243bb12a6f6b /service/pixelated/adapter | |
parent | 8888ad02c22f90f5888e74bde19cc67553b0b395 (diff) |
Issue #526 - Fixed contacts query input and results to only return matched terms
Diffstat (limited to 'service/pixelated/adapter')
-rw-r--r-- | service/pixelated/adapter/search/contacts.py | 16 |
1 files changed, 10 insertions, 6 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)] |