in example-apps/relevance-workbench/app-api/app.py [0:0]
def route_api_search(index):
"""
Execute the search
"""
[query, rrf, type, k, datasetId] = [
request.args.get("q"),
request.args.get("rrf", default=False, type=lambda v: v.lower() == "true"),
request.args.get("type", default="bm25"),
request.args.get("k", default=0),
request.args.get("dataset", default="movies"),
]
if type == "elser":
search_result = run_semantic_search(
query, index, **{"rrf": rrf, "k": k, "dataset": datasetId}
)
elif type == "bm25":
search_result = run_full_text_search(query, index, **{"dataset": datasetId})
transformed_search_result = transform_search_response(
search_result, datasets[datasetId]["mapping_fields"]
)
return jsonify(response=transformed_search_result)