# Quran Search Engine ## Docs - [getHighlightRanges](https://mintlify.wiki/adelpro/quran-search-engine/api/get-highlight-ranges.md): Compute non-overlapping highlight ranges for matched tokens in Arabic text - [loadMorphology()](https://mintlify.wiki/adelpro/quran-search-engine/api/load-morphology.md): Lazily loads morphology data for lemma and root matching - [loadQuranData()](https://mintlify.wiki/adelpro/quran-search-engine/api/load-quran-data.md): Lazily loads the Quran text data with code splitting support - [loadWordMap()](https://mintlify.wiki/adelpro/quran-search-engine/api/load-word-map.md): Lazily loads the word-to-lemma/root mapping for query resolution - [normalizeArabic()](https://mintlify.wiki/adelpro/quran-search-engine/api/normalize-arabic.md): Advanced Arabic normalization for search indexing with Unicode normalization, variant unification, and cleanup - [removeTashkeel()](https://mintlify.wiki/adelpro/quran-search-engine/api/remove-tashkeel.md): Removes Tashkeel (diacritics) and Quranic marks from Arabic text - [search()](https://mintlify.wiki/adelpro/quran-search-engine/api/search.md): Comprehensive search function that combines exact text matching, morphological analysis, and fuzzy fallback for Quran search. - [TypeScript types](https://mintlify.wiki/adelpro/quran-search-engine/api/types.md): Type definitions for the Quran Search Engine library - [Multi-word search](https://mintlify.wiki/adelpro/quran-search-engine/concepts/multi-word-search.md): How the search engine handles queries with multiple words using AND logic - [Scoring system](https://mintlify.wiki/adelpro/quran-search-engine/concepts/scoring-system.md): How the search engine scores and ranks verses based on match quality - [Search architecture](https://mintlify.wiki/adelpro/quran-search-engine/concepts/search-architecture.md): How the Quran search engine works using multiple search layers - [Angular example](https://mintlify.wiki/adelpro/quran-search-engine/examples/angular.md): Standalone Angular application with highlighted results and pagination - [Node.js example](https://mintlify.wiki/adelpro/quran-search-engine/examples/nodejs.md): Server-side search with command-line interface for programmatic usage - [React + Vite example](https://mintlify.wiki/adelpro/quran-search-engine/examples/react.md): Full-featured React application with search UI, highlighting, and pagination - [Vanilla TypeScript example](https://mintlify.wiki/adelpro/quran-search-engine/examples/vanilla-js.md): Simple browser-based search without frameworks using TypeScript and Vite - [Using custom datasets](https://mintlify.wiki/adelpro/quran-search-engine/guides/custom-datasets.md): Use the search engine with your own Quran datasets and custom fields - [Data loading](https://mintlify.wiki/adelpro/quran-search-engine/guides/data-loading.md): Load Quran data, morphology, and word map for search functionality - [UI-agnostic highlight ranges](https://mintlify.wiki/adelpro/quran-search-engine/guides/highlighting.md): Generate highlight ranges for matched tokens without coupling to any UI framework - [Arabic text normalization](https://mintlify.wiki/adelpro/quran-search-engine/guides/normalization.md): Normalize and clean Arabic text for consistent search results - [Pagination options](https://mintlify.wiki/adelpro/quran-search-engine/guides/pagination.md): Control result pagination with page numbers and limits - [Installation](https://mintlify.wiki/adelpro/quran-search-engine/installation.md): Install quran-search-engine using npm, yarn, or pnpm. - [Quran Search Engine](https://mintlify.wiki/adelpro/quran-search-engine/introduction.md): A powerful, stateless, and pure TypeScript search engine for the Quran with Arabic normalization, lemma and root matching, and UI-agnostic highlighting. - [Quick start](https://mintlify.wiki/adelpro/quran-search-engine/quickstart.md): Get started with quran-search-engine in minutes