From 08f8e3b4a4879dd7c91c16fbce80c4f2bc5e357f Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 10 Jul 2023 02:32:24 +0000
Subject: [PATCH] docs + various polish

---
 content/features/full-text search.md |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/content/features/full-text search.md b/content/features/full-text search.md
index e69de29..376e467 100644
--- a/content/features/full-text search.md
+++ b/content/features/full-text search.md
@@ -0,0 +1,26 @@
+---
+title: Full-text Search
+tags: 
+- component
+---
+
+Full-text search in Quartz is powered by [Flexsearch](https://github.com/nextapps-de/flexsearch). It's fast enough to return search results in under 10ms for Quartzs as large as half a million words.
+
+It can be opened by either clicking on the search bar or pressing ⌘+K. The top 5 search results are shown on each query. Matching subterms are highlighted and the most relevant 30 words are excerpted. Clicking on a search result will navigate to that page. 
+
+This component is also keyboard accessible: Tab and Shift+Tab will cycle forward and backward through search results and Enter will navigate to the highlighted result (first result by default).
+
+> [!info]
+> Search requires the `ContentIndex` emitter plugin to be present in the [[configuration]].
+
+### Indexing Behaviour
+By default, it indexes every page on the site with **Markdown syntax removed**. This means link URLs for instance are not indexed.
+
+It properly tokenizes Chinese, Korean, and Japenese characters and constructs separate indexes for the title and content, weighing title matches above content matches.
+
+## Customization
+- Removing search: delete all usages of `Component.Search()` from `quartz.config.ts`.
+- Component: `quartz/components/Search.tsx`
+- Style: `quartz/components/styles/search.scss`
+- Script: `quartz/components/scripts/search.inline.ts`
+	- You can edit `contextWindowWords` or `numSearchResults` to suit your needs

--
Gitblit v1.10.0