Heim  >  Artikel  >  Backend-Entwicklung  >  Wissensgraph und Datenkonnektivität basierend auf Elasticsearch in PHP

Wissensgraph und Datenkonnektivität basierend auf Elasticsearch in PHP

WBOY
WBOYOriginal
2023-10-03 09:37:50986Durchsuche

PHP 中基于 Elasticsearch 的知识图谱与数据连通

Der auf Elasticsearch in PHP basierende Wissensgraph ist mit Daten verbunden und erfordert spezifische Codebeispiele

Der Wissensgraph ist ein grafisches Modell, das zur Beschreibung von Wissensstrukturen und -beziehungen verwendet wird. Es stellt Entitäten und Entitäten durch die Verbindung von Knoten und Kanten dar . Beziehung zwischen. Elasticsearch ist eine Open-Source-basierte Volltextsuchmaschine, die große Datenmengen schnell verarbeiten kann und leistungsstarke Such- und Analysefunktionen bietet. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP einen auf Elasticsearch basierenden Wissensgraphen erstellen, und es werden spezifische Codebeispiele bereitgestellt.

Zuerst müssen wir Elasticsearch installieren und starten. Elasticsearch kann von der offiziellen Website (https://www.elastic.co/) heruntergeladen und installiert werden. Nachdem die Installation abgeschlossen ist, starten Sie Elasticsearch mit dem folgenden Code:

$client = ElasticsearchClientBuilder::create()->build();

Als nächstes müssen wir einen Index erstellen, um unsere Wissensdiagrammdaten zu speichern. Jedes Dokument hat in Elasticsearch eine eindeutige ID, und wir können die eindeutige Kennung der Entität als ID des Dokuments verwenden. Wenn wir beispielsweise eine Entität namens „Person“ haben, können wir die eindeutige Kennung der Person als ID des Dokuments verwenden. Hier ist der Beispielcode zum Erstellen eines Index:

$params = [
    'index' => 'knowledge_graph',
    'body'  => [
        'mappings' => [
            'properties' => [
                'entity' => [
                    'type' => 'text'
                ],
                'relationship' => [
                    'type' => 'text'
                ],
                'related_entities' => [
                    'type' => 'text'
                ]
            ]
        ]
    ]
];

$response = $client->indices()->create($params);

Im obigen Code definieren wir einen Index mit dem Namen knowledge_graph und geben die Eigenschaften des Index an. Das Feld entity dient zum Speichern des Namens der Entität, das Feld relationship dient zum Speichern der Beziehung zwischen Entitäten und das Feld related_entities wird verwendet, um die zugehörigen Entitäten der Entität zu speichern. knowledge_graph 的索引,并指定了索引的属性。entity 字段用于存储实体的名称,relationship 字段用于存储实体之间的关系,related_entities 字段用于存储实体的关联实体。

接下来,我们可以将知识图谱中的数据存储到 Elasticsearch 中。以下是向索引中添加数据的示例代码:

$params = [
    'index' => 'knowledge_graph',
    'id'    => '1',
    'body'  => [
        'entity'           => '人',
        'relationship'     => '是',
        'related_entities' => ['学生', '教师']
    ]
];

$response = $client->index($params);

在上述代码中,我们定义了一个名为 1 的文档,并指定了文档的属性。entity 字段存储了实体的名称“人”,relationship 字段存储了实体之间的关系“是”,related_entities

Als nächstes können wir die Daten im Wissensgraphen in Elasticsearch speichern. Hier ist ein Beispielcode zum Hinzufügen von Daten zum Index:

$params = [
    'index' => 'knowledge_graph',
    'body'  => [
        'query' => [
            'match' => [
                'entity' => '人'
            ]
        ]
    ]
];

$response = $client->search($params);

Im obigen Code haben wir ein Dokument mit dem Namen 1 definiert und die Eigenschaften des Dokuments angegeben. Das Feld entity speichert den Namen der Entität „Person“, das Feld relationship speichert die Beziehung „ist“ zwischen Entitäten und das Feld related_entities speichert die Entität Die zugehörigen Entitäten „Schüler“ und „Lehrer“.

Durch die Verwendung eines ähnlichen Codes können wir mehr Wissensdiagrammdaten in Elasticsearch speichern.

Als nächstes können wir die von Elasticsearch bereitgestellte Such-API verwenden, um die Wissensdiagrammdaten abzufragen. Das Folgende ist ein Beispielcode für die Suche nach Entitäten:

rrreee

Im obigen Code erhalten wir relevante Wissensdiagrammdaten, indem wir nach Dokumenten mit dem Entitätsnamen „Person“ suchen.

Zusätzlich zur einfachen Suche bietet Elasticsearch auch erweiterte Suchfunktionen wie die boolesche Suche, die Bereichssuche usw. Spezifischen Beispielcode finden Sie in der offiziellen Dokumentation von Elasticsearch (https://www.elastic.co/guide/index.html). 🎜🎜Durch die obigen Codebeispiele können wir PHP verwenden, um einen auf Elasticsearch basierenden Wissensgraphen zu erstellen und Datenkonnektivität zu erreichen. Mit den leistungsstarken Such- und Analysefunktionen von Elasticsearch können Sie schnell Beziehungen und zugehörige Informationen zwischen Entitäten abrufen. Ich hoffe, dass dieser Artikel für Entwickler hilfreich sein kann, die PHP zum Erstellen von Wissensgraphen verwenden. 🎜

Das obige ist der detaillierte Inhalt vonWissensgraph und Datenkonnektivität basierend auf Elasticsearch in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn