ホームページ >バックエンド開発 >PHPチュートリアル >PHP の Elasticsearch に基づくナレッジ グラフとデータ接続
PHP の Elasticsearch に基づくナレッジ グラフはデータに接続されており、特定のコード例が必要です
ナレッジ グラフは、知識の構造と関係を説明するために使用されるグラフィカル モデルです。エンティティ間の関係は、ノードとエッジの接続によって表現されます。 Elasticsearch は、大量のデータを迅速に処理し、強力な検索および分析機能を提供するオープン ソース ベースの全文検索エンジンです。この記事では、PHP を使用して Elasticsearch に基づいたナレッジ グラフを構築する方法を紹介し、具体的なコード例を示します。
まず、Elasticsearch をインストールして起動する必要があります。 Elasticsearch は、公式 Web サイト (https://www.elastic.co/) からダウンロードしてインストールできます。インストールが完了したら、次のコードを使用して Elasticsearch を起動します:
$client = ElasticsearchClientBuilder::create()->build();
次に、ナレッジ グラフ データを保存するためのインデックスを作成する必要があります。 Elasticsearch では各ドキュメントに一意の ID があり、エンティティの一意の識別子をドキュメントの ID として使用できます。たとえば、「person」というエンティティがある場合、その人物の一意の識別子をドキュメントの ID として使用できます。以下は、インデックスを作成するサンプル コードです。
$params = [ 'index' => 'knowledge_graph', 'body' => [ 'mappings' => [ 'properties' => [ 'entity' => [ 'type' => 'text' ], 'relationship' => [ 'type' => 'text' ], 'related_entities' => [ 'type' => 'text' ] ] ] ] ]; $response = $client->indices()->create($params);
上記のコードでは、knowledge_graph
という名前のインデックスを定義し、インデックスのプロパティを指定します。 entity
フィールドはエンティティの名前を格納するために使用され、relationship
フィールドはエンティティ間の関係を格納するために使用され、relative_entities
フィールドは次の目的で使用されます。エンティティの関連エンティティを保存します。
次に、ナレッジ グラフのデータを Elasticsearch に保存できます。以下は、インデックスにデータを追加するためのサンプル コードです。
$params = [ 'index' => 'knowledge_graph', 'id' => '1', 'body' => [ 'entity' => '人', 'relationship' => '是', 'related_entities' => ['学生', '教师'] ] ]; $response = $client->index($params);
上記のコードでは、1
という名前のドキュメントを定義し、ドキュメントのプロパティを指定します。 entity
フィールドにはエンティティ「person」の名前が格納され、relationship
フィールドにはエンティティ間の関係「is」が格納され、relative_entities
フィールドには関連エンティティが格納されます。エンティティ「生徒」と「教師」の。
同様のコードを使用することで、より多くのナレッジ グラフ データを Elasticsearch に保存できます。
次に、Elasticsearch が提供する検索 API を使用して、ナレッジ グラフ データをクエリできます。以下は、エンティティを検索するためのサンプル コードです。
$params = [ 'index' => 'knowledge_graph', 'body' => [ 'query' => [ 'match' => [ 'entity' => '人' ] ] ] ]; $response = $client->search($params);
上記のコードでは、エンティティ名が「person」のドキュメントを検索することで、関連するナレッジ グラフ データを取得します。
Elasticsearch は、基本的な検索に加えて、ブール検索、範囲検索などのより高度な検索機能も提供します。具体的なサンプルコードについては、Elasticsearch の公式ドキュメント (https://www.elastic.co/guide/index.html) を参照してください。
上記のコード例を通じて、PHP を使用して Elasticsearch に基づいたナレッジ グラフを構築し、データ接続を実現できます。 Elasticsearch の強力な検索および分析機能を使用すると、エンティティ間の関係および関連情報を迅速に取得できます。この記事が、PHP を使用してナレッジ グラフを構築する開発者にとって役立つことを願っています。
以上がPHP の Elasticsearch に基づくナレッジ グラフとデータ接続の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。