You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Research & Documentation:
"I remember writing about 'testing' but can't recall if I used 'test', 'tests', or 'testing'"
→ Search *test* finds all variants
Project Management:
"Find all meeting notes from Q4"
→ meeting*2024 returns all matching entries
Data Analysis:
"Find all project IDs starting with PRJ-"
→ PRJ-* returns all matching entries
Typo Tolerance:
Quickly typed notes with typos like "meeitng" should still match "meeting"
→ Fuzzy search handles this automatically
Multi-language Content:
Users working in multiple languages need flexible pattern matching
→ *test* finds "testing", "getestet", "tester", "Testdaten"
Technical Notes
AFFiNE already uses Manticore Search as backend (since v0.22/0.23), which supports:
Query parser to detect and process wildcard operators
UI indicator showing that wildcards are enabled
Documentation with search syntax examples
Comparison with Competitors
| Feature | AFFiNE | Obsidian |
|---------|--------|----------|--------|
| Wildcard Search | ❌ No | ✅ Yes (via regex) |
| Fuzzy Search | ❌ No | ✅ Yes |
| Regex Support | ❌ No | ✅ Yes |
Obsidian offers full regex support via /pattern/ syntax and has become the standard for power users.
Priority Rationale
This feature would:
✅ Significantly improve user experience for knowledge workers
✅ Leverage existing backend capabilities (Manticore)
✅ Align AFFiNE with competitor feature sets
✅ Enable professional research and documentation workflows
✅ Reduce friction for users migrating from Obsidian
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
Currently, AFFiNE's search only supports exact keyword matching. Users cannot:
*est→ test, best, request)test→ test, testing, tester)This limitation makes it difficult to find content when you don't remember the exact wording or need to search for word families.
Proposed Solution
Implement two complementary search enhancements:
1. Wildcard Support
*for multiple characters:*testfinds "unittest", "test", "retest"?for single character:t?stfinds "test", "tost", "tast"/\d{4}/finds all 4-digit numbersExamples:
*est→ matches test, best, request, nesttest*→ matches test, testing, tester, tested?est→ matches best, rest, test, nestproj*2024→ matches project2024, projects20242. Fuzzy Search
tset→testUse Cases
Research & Documentation:
"I remember writing about 'testing' but can't recall if I used 'test', 'tests', or 'testing'"
→ Search
*test*finds all variantsProject Management:
"Find all meeting notes from Q4"
→
meeting*2024returns all matching entriesData Analysis:
"Find all project IDs starting with PRJ-"
→
PRJ-*returns all matching entriesTypo Tolerance:
Quickly typed notes with typos like "meeitng" should still match "meeting"
→ Fuzzy search handles this automatically
Multi-language Content:
Users working in multiple languages need flexible pattern matching
→
*test*finds "testing", "getestet", "tester", "Testdaten"Technical Notes
AFFiNE already uses Manticore Search as backend (since v0.22/0.23), which supports:
*,?,%)min_infix_len,min_prefix_lenThe feature would primarily need:
Comparison with Competitors
| Feature | AFFiNE | Obsidian |
|---------|--------|----------|--------|
| Wildcard Search | ❌ No | ✅ Yes (via regex) |
| Fuzzy Search | ❌ No | ✅ Yes |
| Regex Support | ❌ No | ✅ Yes |
Obsidian offers full regex support via
/pattern/syntax and has become the standard for power users.Priority Rationale
This feature would:
✅ Significantly improve user experience for knowledge workers
✅ Leverage existing backend capabilities (Manticore)
✅ Align AFFiNE with competitor feature sets
✅ Enable professional research and documentation workflows
✅ Reduce friction for users migrating from Obsidian
Beta Was this translation helpful? Give feedback.
All reactions