🕌

Fuse.jsを使用した完全不一致検索(GPT-4による解説)

2023/03/17に公開

はじめに

以前に以下の記事を執筆しましたが、GPT-4による解説の方が有用でしたので紹介します。

https://zenn.dev/nakamura196/articles/fa97092afb4225

完全不一致検索を JavaScript で実装する方法

Fuse.js は、クライアントサイドで動作する軽量なファジーサーチライブラリです。ただし、今回の目的である完全不一致検索には向いていません。代わりに、JavaScript の Array メソッドを使って簡単に実装できます。

完全不一致検索の例

次の例では、filter メソッドを使って完全不一致検索を行います。

const data = [
  {
    title: 'Example Title 1',
    content: 'This is an example content for the first item.',
  },
  {
    title: 'Example Title 2',
    content: 'This is an example content for the second item.',
  },
  // ... 他のデータ
];

const searchTerm = 'Example Title 1';

const results = data.filter(
  (item) => item.title !== searchTerm && item.content !== searchTerm
);

console.log(results);

この例では、data 配列から searchTerm と完全に一致しない要素をフィルタリングしています。title と content の両方が searchTerm と一致しない場合、要素が結果の配列に含まれます。

このように、JavaScript のネイティブな Array メソッドを使って完全不一致検索を実装できます。

まとめ

完全不一致検索は、JavaScript の Array メソッドを使って簡単に実装できます。ファジーサーチライブラリである Fuse.js は、完全不一致検索の実装には適していません。代わりに、filter メソッドを使ってシンプルな実装が可能です。

Discussion