How to Search
Search works on both the home page (Top) and New page, maintaining the respective sort order.
What Gets Searched
The search engine looks through:- Post Titles: Primary search target for finding relevant discussions
- Post Bodies: The text content of posts
- Usernames: Find all posts by a specific user
Search Behavior
Search uses partial matching:- Substring search: Your query can appear anywhere in the title, body, or username
- Pattern: Matches are found using
ILIKE '%query%' - Multiple words: All words in your query must appear (in any order)
Search Examples
Example: Searching for 'database'
Example: Searching for 'database'
Finds posts with titles or bodies containing:
- “Database design tips”
- “PostgreSQL database setup”
- “My database optimization journey”
- Any user named “database_admin”
Example: Searching for 'self hosting'
Example: Searching for 'self hosting'
Finds posts where both “self” AND “hosting” appear in the title, body, or username:
- “Self-hosting best practices”
- “Hosting guide for self-reliance”
- “Guide to hosting your self-hosted apps”
Filtering by Tags
Combine search with tag filtering for precise results:Search and Post Ranking
Search works differently depending on which view you’re in:Top View (Default)
- Search results still use the ranking algorithm
- Posts with more points and recent timestamps rank higher
- Formula:
points / (age_in_hours + 2)^1.5 - Recently upvoted posts matching your query appear first
New View
- Search results are sorted by creation date only
- Most recent matching posts appear first
- Points and ranking don’t affect order
Search Syntax and Tips
Basic Usage
Advanced Tips
Finding Specific Content
- Use specific keywords rather than full sentences
- Try variations of your search term (“self-host”, “selfhost”, “self hosting”)
- Search for unique phrases from the post you’re looking for
- Search usernames if you remember who posted it
Refining Results
- Start broad, then narrow with tag filters
- Try shorter keywords if you get no results
- Remember that all words in your query must match
- Check spelling—search is literal (though case-insensitive)
Special characters and punctuation are included in the search. Searching for “self-host” is different from “self host”.
Search Limitations
Current search functionality:- No comment search: Only post titles, bodies, and usernames are searched
- No operators: Boolean operators (AND, OR, NOT) are not supported
- No fuzzy matching: Exact substring matches only (no spell correction)
- No stemming: “host” won’t match “hosting” unless both are present
Best Practices
For Finding Content
- Start specific: Use unique keywords from the post you remember
- Broaden if needed: Remove words to expand your search
- Use tags: Combine search with tag filters for better precision
- Try usernames: Search for the author if you know who posted it
For Making Your Content Searchable
When creating posts:- Clear titles: Use descriptive titles with searchable keywords
- Add context: Include relevant terms in your post body
- Use tags: Proper tagging helps users filter searches
- Avoid jargon: Common terms are more searchable than acronyms
Search Performance
Search is optimized for quick results:- Uses database indexes for fast lookup
- Results paginate like normal post feeds (20 per page)
- Search queries are processed server-side
- No client-side search or autocomplete (keeps the interface minimal)
Very broad searches (like single common letters) may return many results. Use more specific terms for better performance.
Combining Search with Navigation
Search integrates with forum navigation:- Pagination: Search results are paginated (use
pparameter) - Sorting: Respects Top/New view selection
- Tags: Works alongside tag filtering
- URL structure:
?q=search&tag=TagName&p=2