Skip to content

#3: Implement Multi-Word Search Support #3

@cobret-git

Description

@cobret-git

Overview

Improve project search to support multiple keywords. Currently, searching "Mobile iOS" looks for the exact phrase "Mobile iOS". Users need the ability to search with multiple words where results match ALL words (not necessarily as a phrase).

Current behavior: "Mobile iOS" finds only projects containing the exact phrase "Mobile iOS"
Desired behavior: "Mobile iOS" finds projects containing both "Mobile" AND "iOS" anywhere in the name or description

Testing Scenarios

Scenario 1: Multi-word AND search

  • Projects: "Mobile iOS App", "Mobile Android App", "Desktop iOS App"
  • Search: "Mobile iOS"
  • Expected: Only "Mobile iOS App" (contains both words)

Scenario 2: Single word (backward compatibility)

  • Projects: "TaskPilot", "Task Manager"
  • Search: "task"
  • Expected: Both projects match (works as before)

Scenario 3: All words required

  • Projects: "Project Alpha Beta", "Project Alpha", "Project Beta"
  • Search: "Alpha Beta"
  • Expected: Only "Project Alpha Beta" (missing word excludes others)

Scenario 4: Case insensitive

  • Search: "MOBILE ios"
  • Expected: Finds "Mobile iOS App"

Scenario 5: Extra spaces handled

  • Search: "Mobile iOS" (double space)
  • Expected: Works same as "Mobile iOS"

Scenario 6: Typo handling (potential issue)

  • Projects: "TaskPilot"
  • Search: "tak pilot"
  • Current: Finds "TaskPilot" (contains "tak")
  • New behavior: Won't find anything (neither "tak" nor "pilot" match)
  • Note: This is more restrictive but expected with AND logic

Scenario 7: Exact phrase search (potential issue)

  • Projects: "Mobile App Store", "Mobile iOS"
  • Search: "mobile ios"
  • Current: Finds only "Mobile iOS" (exact phrase)
  • New behavior: Finds both (both contain "mobile" AND "ios")
  • Note: Cannot search for exact phrases anymore

Scenario 8: Partial keyword match (potential issue)

  • Projects: "Task Manager", "Project Tracker"
  • Search: "task pilot manager"
  • Current: Finds "Task Manager" (contains "task")
  • New behavior: Won't find anything ("pilot" missing)
  • Note: Requires all keywords to exist

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions