1. import re
  2. def index_form_data(form_data):
  3. """
  4. Indexes content of form fields for short-lived tasks.
  5. Args:
  6. form_data (dict): A dictionary where keys are field names and values are the field contents.
  7. Returns:
  8. dict: A dictionary where keys are field names and values are lists of indexed terms.
  9. """
  10. indexed_data = {}
  11. for field_name, content in form_data.items():
  12. if isinstance(content, str): # Process only string values
  13. # Lowercase and remove punctuation for consistent indexing
  14. processed_content = re.sub(r'[^\w\s]', '', content.lower())
  15. terms = processed_content.split() # Split into individual terms
  16. indexed_data[field_name] = terms
  17. else:
  18. indexed_data[field_name] = [] # Handle non-string values gracefully
  19. return indexed_data

Add your comment