Vault Blog Core

投稿日:2025/12/3

更新日:2025/12/3

サイト内検索について

検索については、 Fuse.js を用いて実装しています。

Note

今後の開発予定からの実装です。

検索周りの実装概要

記事収集時に posts-meta.json を生成し、これを対象に検索を行っています。

posts-meta.json へのアクセス、 Fuse.js によるあいまい検索、ともにクライアントで実行しています。

あいまい検索の設定については、./src/lib/search.ts で行っています。
各々良いように調整してください。

import Fuse from "fuse.js";
import { PostMeta } from "../../types/post";

const searchPosts = (posts: PostMeta[], query: string) => {
  const fuse = new Fuse(posts, {
    keys: [
      { name: "title", weight: 0.5 },
      { name: "description", weight: 0.2 },
      { name: "contentMd", weight: 0.1 },
      { name: "tags", weight: 0.2 },
    ],
    threshold: 0.45, 
    minMatchCharLength: 1,
    ignoreLocation: true,
  });

  return fuse.search(query).map((r) => r.item);
};

export default searchPosts;

次の記事

OGP画像の自動生成についてのサムネイル

OGP画像の自動生成について

投稿日:2025/12/3

更新日:2025/12/3

  • #introduce
  • #usage

OGP画像の自動生成については、[Functions: ImageResponse \| Next.js](https://nextjs.org/docs/app/api-reference/func...

前の記事

シンタックスハイライトについてのサムネイル

シンタックスハイライトについて

投稿日:2025/12/3

更新日:2025/12/3

  • #usage
  • #introduce
  • #sample

シンタックスハイライトについては、[Prism](https://prismjs.com/) を用いて実装しています。 > [!Note] > [[今後の開発予定]]からの実装です。 ## 概要 [P...

関連記事