PHP と Elasticsearch を使用して検索結果を強調表示する方法
PHP と Elasticsearch を使用して強調表示された検索結果を取得する方法
はじめに:
現代のインターネットの世界では、検索エンジンが人々が情報を入手する主な方法となっています。検索結果の読みやすさとユーザー エクスペリエンスを向上させるために、検索キーワードを強調表示することが一般的な要件になっています。この記事では、PHP と Elasticsearch を使用して強調表示された検索結果を取得する方法を紹介します。
1. 準備
始める前に、PHP と Elasticsearch が正しくインストールされ、設定されていることを確認する必要があります。 Composer を使用して PHP の依存関係を管理し、次のコマンドを使用して Elasticsearch の PHP クライアントをインストールできます。
composer require elasticsearch/elasticsearch
2. Elasticsearch に接続します
まず、Elasticsearch クライアント インスタンスを作成する必要があります。 PHP スクリプト。次のコードを使用して Elasticsearch に接続できます:
require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build();
3. インデックスとマッピングの作成
検索する前に、Elasticsearch が正しく処理できるようにインデックスを作成し、対応するフィールド マッピングを指定する必要があります。リクエスト。以下は、インデックスとマッピングを作成するサンプル コードです:
$params = [ 'index' => 'my_index', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => [ 'type' => 'text', 'fields' => [ 'keyword' => [ 'type' => 'keyword', ], ], ], 'content' => [ 'type' => 'text', 'fields' => [ 'keyword' => [ 'type' => 'keyword', ], ], ], ], ], ], ]; $response = $client->indices()->create($params);
4. 検索を実行し、結果を強調表示します
次に、検索操作の実行を開始し、一致するキーワードを強調表示します。検索を実行し、結果を強調表示するサンプル コードを次に示します。
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'match' => [ 'title' => '关键字', ], ], 'highlight' => [ 'fields' => [ 'title' => new stdClass(), 'content' => new stdClass(), ], ], ], ]; $response = $client->search($params); foreach ($response['hits']['hits'] as $hit) { $title = isset($hit['highlight']['title'][0]) ? $hit['highlight']['title'][0] : $hit['_source']['title']; $content = isset($hit['highlight']['content'][0]) ? $hit['highlight']['content'][0] : $hit['_source']['content']; echo "标题:{$title} "; echo "内容:{$content} "; }
上記のコードは、Elasticsearch を通じてキーワード ベースの検索を実行し、一致するフィールドを強調表示します。検索結果で、特定のフィールドに一致するキーワードがある場合、そのフィールドの強調表示された結果が返されます。
結論:
この記事では、PHP と Elasticsearch を使用して強調表示された検索結果を取得する方法を紹介します。適切なインデックスとマッピングを設定し、関連する検索パラメーターを使用することで、検索結果の強調表示を簡単に実現できます。これにより、ユーザーの検索結果の理解と読み取りが向上し、ユーザー エクスペリエンスが向上することは間違いありません。
参考資料:
- Elasticsearch 公式ドキュメント: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
以上がPHP と Elasticsearch を使用して検索結果を強調表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
