add the search function to website

This commit is contained in:
PrinOrange
2024-01-06 11:47:18 +08:00
parent acdc77260f
commit 4fdba9d2b9
8 changed files with 1118 additions and 21 deletions

View File

@@ -0,0 +1,20 @@
import { SearchIndex } from "@/lib/search";
import { isEmptyString } from "@/lib/utils";
import { TSearchResultItem } from "@/types/search-result";
import type { NextApiRequest, NextApiResponse } from "next";
type ResponseData = TSearchResultItem[];
export default function handler(req: NextApiRequest, res: NextApiResponse<ResponseData>) {
const searchText = req.query.keyword as string;
if (isEmptyString(searchText)) {
res.status(200).json([]);
return;
}
const result: TSearchResultItem[] = SearchIndex.search(searchText).map((item) => ({
id: item.id,
title: item.title,
tags: item.tags,
}));
res.status(200).json(result);
}