Nodejsで検索機能を実装する方法

PHPz
リリース: 2023-04-17 17:08:27
オリジナル
1186 人が閲覧しました

ご存知のとおり、現代のネットワーク技術は非常に発達しており、インターネット上には大量の情報が存在し、人々の利用に伴って日々増加しています。したがって、検索エンジンは私たちの日常使用に不可欠なツールとなっています。バックエンド開発の分野では、Node.js は最も人気があり、広く使用されているテクノロジーの 1 つです。大量の同時リクエストを簡単に処理できるためです。この記事では、Node.js を使用して強力でスケーラブルな検索エンジンを構築する方法について説明します。

ステップ 1: Node.js をインストールする

まず、システムに Node.js をインストールする必要があります。これは、公式 Web サイト [nodejs.org](nodejs.org) のダウンロード ページから入手できます。ダウンロード後、通常の手順に従ってインストールし、node コマンドを使用します。次のコマンドを入力して、インストールが成功したことを確認します。

node -v
ログイン後にコピー

ステップ 2: プロジェクトの作成

まず、新しい Node.js プロジェクトを作成し、使いやすくするために必要なファイルとモジュールをいくつか追加します。 。これは、コマンド ライン インターフェイスで次のコマンドを使用して実行できます。

mkdir search-engine && cd search-engine npm init -y touch index.js
ログイン後にコピー

プロジェクトのルート ディレクトリに新しいフォルダーを作成し、そのフォルダーに入ります。次に、npm init コマンドを使用して、プロジェクトのコードの依存関係、作成者、その他の構成をリストする新しい package.json ファイルを生成します。完了したら、index.js というメイン ファイルを作成します。ここに検索ロジックのほとんどを記述します。

ステップ 3: ElasticSearch モジュールを追加する

Node.js プロジェクトでは、ElasticSearch モジュールを使用して検索操作を実行する必要があります。このモジュールは、インデックスの作成、ドキュメントの検索、データの削除など、プロジェクトのニーズに応じて構成して使用できる多くの機能を提供します。これを使用するには、次のコマンドを使用してインストールする必要があります。

npm install elasticsearch --save
ログイン後にコピー

ステップ 4: 検索機能の実装

見つかったデータを次のコマンドに変換することで、検索機能の実装を開始します。 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!