Query suggestions and auto-completion for typeahead search UX.
Reference
View source
import argparse
from office365.sharepoint.client_context import ClientContext
from tests.settings import cert_path, cert_thumbprint, client_id, site_url, tenant
def main():
parser = argparse.ArgumentParser(description="Get search suggestions and auto-completions")
parser.add_argument("query", help="Query prefix, e.g. 'share'")
args = parser.parse_args()
ctx = ClientContext(site_url).with_client_certificate(
tenant, client_id=client_id, thumbprint=cert_thumbprint, cert_path=cert_path
)
# 1. Query suggestions (did-you-mean style)
suggestions = ctx.search.suggest(args.query).execute_query().value
print("Query suggestions:")
for q in suggestions.Queries:
print(f" {q.Query}")
if len(suggestions.PeopleNames):
print("People:")
for name in suggestions.PeopleNames:
print(f" {name}")
# 2. Auto-completions (typeahead)
completions = ctx.search.auto_completions(args.query, number_of_completions=10).execute_query().value
print("\nAuto-completions:")
for c in completions.Queries:
print(f" {c.Query}")
if __name__ == "__main__":
main()
← Back to Searching SharePoint