ホームページ >ウェブフロントエンド >フロントエンドQ&A >Nodejsで検索機能を実装する方法
ご存知のとおり、現代のネットワーク技術は非常に発達しており、インターネット上には大量の情報が存在し、人々の利用に伴って日々増加しています。したがって、検索エンジンは私たちの日常使用に不可欠なツールとなっています。バックエンド開発の分野では、Node.js は最も人気があり、広く使用されているテクノロジーの 1 つです。大量の同時リクエストを簡単に処理できるためです。この記事では、Node.js を使用して強力でスケーラブルな検索エンジンを構築する方法について説明します。
まず、システムに Node.js をインストールする必要があります。これは、公式 Web サイト [nodejs.org](nodejs.org) のダウンロード ページから入手できます。ダウンロード後、通常の手順に従ってインストールし、node コマンドを使用します。次のコマンドを入力して、インストールが成功したことを確認します。
node -v
まず、新しい Node.js プロジェクトを作成し、使いやすくするために必要なファイルとモジュールをいくつか追加します。 。これは、コマンド ライン インターフェイスで次のコマンドを使用して実行できます。
mkdir search-engine && cd search-engine npm init -y touch index.js
プロジェクトのルート ディレクトリに新しいフォルダーを作成し、そのフォルダーに入ります。次に、npm init コマンドを使用して、プロジェクトのコードの依存関係、作成者、その他の構成をリストする新しい package.json ファイルを生成します。完了したら、index.js というメイン ファイルを作成します。ここに検索ロジックのほとんどを記述します。
Node.js プロジェクトでは、ElasticSearch モジュールを使用して検索操作を実行する必要があります。このモジュールは、インデックスの作成、ドキュメントの検索、データの削除など、プロジェクトのニーズに応じて構成して使用できる多くの機能を提供します。これを使用するには、次のコマンドを使用してインストールする必要があります。
npm install elasticsearch --save
見つかったデータを次のコマンドに変換することで、検索機能の実装を開始します。 ElasticSearch のドキュメント形式。これは、次のコードを使用して実行できます。
const data = [ { title: '文章1', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 1 }, { title: '文章2', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 2 }, { title: '文章3', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 3 }, { title: '文章4', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 4 }, { title: '文章5', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 5 }, { title: '文章6', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 6 }, ] data.forEach(({ title, body, id }) => { elasticClient.index({ index, body: { id, title, body } }) })
これで、ElasticSearch を使用して検索操作を実行する準備が整いました。検索プロセスを search という関数にカプセル化したいと考えています。この関数は、クエリ文字列、ドキュメント タイプ、結果の数などの複数のパラメータを受け取ります。検索を実装するコードは次のとおりです。
async function search({ query, type, limit }) { const { body } = await elasticClient.search({ index, type, body: { size: limit, query: { match: { title: { query, fuzziness: 2 } } } } }); return body.hits.hits.map(({ _source }) => _source); }
これで、Node.js にシンプルだが強力な検索エンジンを実装できます。 Web アプリケーション、社内エンタープライズ検索、データ分析などのさまざまなユースケースに使用できます。
要約すると、Node.js は、拡張性が高く、大量のリクエストを処理できるバックエンド システムの構築に役立つ強力な開発ツールです。個々のモジュールの使用法を学ぶことで、プロジェクトのニーズをサポートする独自の検索エンジンを構築できます。 Node.js は、リクエストの処理や検索の実行などに優れているため、依然として使用するのに最適なバックエンド テクノロジの 1 つです。この記事の学習と実践を通じて、読者の Node.js を使用した検索機能の開発に役立つことを願っています。
以上がNodejsで検索機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。