Conversation
Issue 14 filter
…with id, sura_name, sura_name_en, sura_name_romanization, total_verses, juz_id, page_id
…ect sura_name_en for Suras 55 and 71
feat: add utility function to detect Arabic characters (#3)
…s resolved, docs updated
- Add Sura interface in types/index.ts - Modify metadata.ts to derive data from quran.json - Calculate total_verses, juz_ids, page_start/end dynamically - Ensure single source of truth as requested in PR review
…and-ci fix: strict filtering for verses and add CI workflow
Fixed first 5000 lines in word-map.json manually See #68
also exported clearBooleanOperators as a helper for UI and can be used to support the first one
Export hasBooleanOperators from boolean-search
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (17)
📒 Files selected for processing (122)
📝 WalkthroughWalkthroughThis PR implements v0.2.0 with comprehensive architecture reorganization, introducing layered search layers (semantic, regex, range, boolean), inverted index optimization, structured error handling framework, extensive documentation, and migration from pnpm to Yarn Berry package manager. Changes
Sequence DiagramsequenceDiagram
participant User
participant Search Engine
participant Range Layer
participant Regex Layer
participant Simple Layer
participant Linguistic Layer
participant Semantic Layer
participant Fuzzy Layer
participant Cache
User->>Search Engine: search(query, data, maps, options)
alt Cache Hit
Search Engine->>Cache: lookup(query, options, pagination)
Cache-->>Search Engine: cached results
Search Engine-->>User: return cached results
else Cache Miss
Search Engine->>Range Layer: parseRangeQuery(query)
alt Range Match
Range Layer-->>Search Engine: range results
else No Range Match
Search Engine->>Regex Layer: validateRegex & search
alt Regex Match
Regex Layer-->>Search Engine: regex results
else No Regex Match
Search Engine->>Simple Layer: simpleSearch(query)
Simple Layer-->>Search Engine: simple matches
Search Engine->>Linguistic Layer: performAdvancedLinguisticSearch
Linguistic Layer->>Linguistic Layer: check lemma/root via inverted index
Linguistic Layer-->>Search Engine: linguistic matches
alt Semantic Enabled
Search Engine->>Semantic Layer: performSemanticSearch
Semantic Layer-->>Search Engine: semantic matches
end
alt Fuzzy Enabled
Search Engine->>Fuzzy Layer: fuse.search(query)
Fuzzy Layer-->>Search Engine: fuzzy matches
end
Search Engine->>Search Engine: deduplicate & combine results
end
end
Search Engine->>Cache: store(key, results)
Search Engine-->>User: return results
end
Estimated Code Review Effort🎯 5 (Critical) | ⏱️ ~120 minutes Possibly Related PRs
Poem
✨ Finishing Touches
🧪 Generate unit tests (beta)
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Recovery PR - files were accidentally deleted during merge conflict resolution in commit c64b430.
Summary by CodeRabbit
Release Notes
New Features
Documentation
Chores