in example-apps/relevance-workbench/app-api/app.py [0:0]
def get_text_expansion_request_body(query, size=10, **options):
"""
Generates an ES text expansion search request.
"""
fields = datasets[options["dataset"]]["elser_search_fields"]
result_fields = datasets[options["dataset"]]["result_fields"]
text_expansions = []
boost = 1
for field in fields:
split_field_descriptor = field.split("^")
if len(split_field_descriptor) == 2:
boost = split_field_descriptor[1]
field = split_field_descriptor[0]
te = {"text_expansion": {}}
te["text_expansion"][field] = {
"model_text": query,
"model_id": ".elser_model_1",
"boost": boost,
}
text_expansions.append(te)
return {
"_source": False,
"fields": result_fields,
"size": size,
"query": {"bool": {"should": text_expansions}},
}