So verwenden Sie PHP und Elasticsearch, um Suchergebnisse hervorzuheben

WBOY
Freigeben: 2023-07-17 21:26:01
Original
1210 Leute haben es durchsucht

So verwenden Sie PHP und Elasticsearch, um hervorgehobene Suchergebnisse zu erzielen

Einführung:
In der modernen Internetwelt sind Suchmaschinen zum wichtigsten Weg für Menschen geworden, Informationen zu erhalten. Um die Lesbarkeit und Benutzererfahrung von Suchergebnissen zu verbessern, ist die Hervorhebung von Suchbegriffen zu einer häufigen Anforderung geworden. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und Elasticsearch hervorgehobene Suchergebnisse erzielen.

1. Vorbereitung
Bevor wir beginnen, müssen wir sicherstellen, dass PHP und Elasticsearch korrekt installiert und konfiguriert wurden. Sie können Composer verwenden, um PHP-Abhängigkeiten zu verwalten, und dann den folgenden Befehl verwenden, um den PHP-Client von Elasticsearch zu installieren:

composer require elasticsearch/elasticsearch
Nach dem Login kopieren

2. Mit Elasticsearch verbinden
Zuerst müssen wir eine Elasticsearch-Client-Instanz im PHP-Skript erstellen. Sie können den folgenden Code verwenden, um eine Verbindung zu Elasticsearch herzustellen:

require 'vendor/autoload.php';

$client = ElasticsearchClientBuilder::create()->build();
Nach dem Login kopieren

3. Index und Zuordnung erstellen
Vor der Suche müssen wir einen Index erstellen und die entsprechende Feldzuordnung angeben, damit Elasticsearch die Suchanfrage korrekt verarbeiten kann. Das Folgende ist ein Beispielcode zum Erstellen eines Index und einer Zuordnung:

$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);
Nach dem Login kopieren

Viertens: Führen Sie eine Suche durch und markieren Sie die Ergebnisse.
Als Nächstes können wir mit der Durchführung des Suchvorgangs beginnen und die passenden Schlüsselwörter hervorheben. Hier ist ein Beispielcode, der eine Suche durchführt und die Ergebnisse hervorhebt:

$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}

";
}
Nach dem Login kopieren

Der obige Code führt eine schlüsselwortbasierte Suche durch Elasticsearch durch und hebt passende Felder hervor. Wenn in den Suchergebnissen ein passendes Schlüsselwort in einem bestimmten Feld vorhanden ist, wird das hervorgehobene Ergebnis für dieses Feld zurückgegeben.

Fazit:
In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und Elasticsearch hervorgehobene Suchergebnisse erzielen. Durch die Einrichtung einer geeigneten Indizierung und Zuordnung sowie die Verwendung relevanter Suchparameter können wir problemlos eine Hervorhebung der Suchergebnisse erreichen. Dies wird zweifellos das Verständnis und die Lesbarkeit der Suchergebnisse durch die Benutzer verbessern und somit die Benutzererfahrung verbessern.

Referenz:

  • Offizielles Dokument von Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP und Elasticsearch, um Suchergebnisse hervorzuheben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage