У меня есть три цикла, вложенных в бэкэнд python / django webapp. all_recommended_services
имеет всю служебную информацию, которая мне нужна до go. alternatives
содержит критерии поиска, введенные в строку поиска, включая все альтернативы специальных символов (например: u
заменяется на ú
, ö
на ő
и так далее ...). Наконец, l oop for value in alternative:
просматривает все поисковые слова, индивидуально разделенные пустым пространством. Существуют комбинации ключевых слов для поиска, которые дают миллионы альтернатив, что полностью убивает веб-приложение. Есть ли эффективный способ ускорить это? Я попытался заглянуть в itertools.product
, чтобы использовать декартову систему, но это не помогло мне избежать дополнительных циклов или ускорить процесс. Любая помощь приветствуется!
for service in all_recommended_services:
county_str = get_county_by_id(all_counties, service['county_id'])
for alternative in alternatives:
something_found = False
for value in alternative:
something_found = search_in_service(service, value, county_str)
if not something_found:
break
if something_found:
if not service in recommended_services:
recommended_services.append(service)