The Community Search API goes beyond simple name matching to understand context and meaning, helping users find relevant communities they might not have discovered through traditional keyword searches.

Key Features

Semantic Understanding

Find communities based on meaning and context, not just exact name matches

Advanced Filtering

Filter by categories, tags, and membership status for precise results

Relevance Scoring

Results ranked by semantic relevance combined with lexical matching

Search Filtering Options

Category Filtering

Tag-Based Filtering

Membership Status Filtering

Description: Include all communities regardless of user’s membership statusBest For:
  • New user onboarding
  • General community discovery
  • Exploring new interests
Example Use Cases:
  • “Show me all photography communities”
  • Public community browsers
  • Recommendation engines
// Search Options
let options = AmityCommunitySemanticSearchOptions(query: "shoes", categoryIds: nil, tags: nil, communityMembershipStatus: .all)

token = communityRepository.semanticSearchCommunities(options: options).observe({ liveCollection, _, error in
    
    let allCommunities = liveCollection.snapshots
    // ...
})

Example Use Cases & Results

Search Example: “Ice Cream”

When users search for “ice cream,” the intelligent search returns communities ranked by semantic relevance:
🥇 Community: "Ice Cream Society"
📊 Score: 0.95
📝 Description: "Share your favorite frozen dessert spots and homemade recipes."
👥 Members: 2,847

🥈 Community: "Frozen Treats United"  
📊 Score: 0.89
📝 Description: "Connect with other ice cream and gelato enthusiasts."
👥 Members: 1,523

Practical Search Scenarios

Limitations & Considerations

Current Limitations:
  • Search Scope: Limited to community names and descriptions only
  • Content Exclusion: Does not search within community posts or comments
  • Language Mixing: Mixed-language queries may have reduced accuracy
  • Real-time Lag: New communities may take a few moments to appear in search results