Aktueller Standort: Startseite> Neueste Artikel> Elasticsearch in Kombination mit dem IK -Word -Segmentierer in der PHP -Umgebung, um eine effiziente chinesische Volltextsuche zu erreichen

Elasticsearch in Kombination mit dem IK -Word -Segmentierer in der PHP -Umgebung, um eine effiziente chinesische Volltextsuche zu erreichen

gitbox 2025-08-06

Einführung

ElasticSearch ist eine leistungsstarke Suchmaschine für verteilte Volltext, mit der große Daten effizient gespeichert und abfragen können. Der IK -Word -Segmentierer ist speziell für Chinesen konzipiert, wodurch die Eigenschaften des chinesischen Wortschatzes zu genauen Partizip -Wörtern verwendet werden, wodurch die Suchqualität verbessert wird.

Elasticsearch -Installation und -konfiguration

Installieren Sie Elasticsarch

Sie können das Installationspaket des entsprechenden Betriebssystems von der offiziellen Website von Elasticsearch herunterladen und die Bereitstellung gemäß den Installationsschritten abschließen:

 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz

tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz

cd elasticsearch-7.10.2/bin

./elasticsearch

Konfigurieren Sie ElasticSearch

Bearbeiten Sie die Konfigurationsdatei Elasticsearch.yml und legen Sie den Clusternamen, den Knotennamen und die Höradresse gemäß den Anforderungen fest:

 cluster.name: my_cluster

node.name: my_node

network.host: localhost

http.port: 9200

PHP -Umgebungskonfiguration

Um Elasticsearch in PHP -Projekten zu verwenden, müssen Sie den offiziellen PHP -Client installieren:

 composer require elasticsearch/elasticsearch

Installieren Sie das IK Word-Segmentierer-Plug-In

Der IK Word -Segmentierer unterstützt die chinesische Segmentierung des chinesischen Wortes, und der Installationsbefehl lautet wie folgt:

 cd elasticsearch-7.10.2/

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.2/elasticsearch-analysis-ik-7.10.2.zip

Konfigurieren Sie IK Word -Segmentierer

Fügen Sie die folgende Analysatorkonfiguration in Elasticsearch.yml hinzu:

 index.analysis.analyzer.default.type: "ik_max_word"

index.analysis.analyzer.default.use_smart: "false"

PHP -Code zur Implementierung der Volltext -Suche

Das folgende Beispiel zeigt, wie der PHP -Client für die Volltextsuche verwendet wird:

 $hosts = ['http://localhost:9200'];

$client = Elasticsearch\ClientBuilder::create()->setHosts($hosts)->build();

$params = [

    'index' => 'my_index',

    'body'  => [

        'query' => [

            'match' => [

                'content' => 'Schlüsselwörter'

            ]

        ]

    ]

];

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

$results = $response['hits']['hits'];

Der obige Code erstellt einen Elasticsearch -Client, erstellt Abfrageparameter und führt Suchvorgänge aus und erhält schließlich übereinstimmende Ergebnisse.

Zusammenfassen

In diesem Artikel wird systematisch vorgestellt, wie Elasticsearch- und IK-Word-Segmentierer kombiniert werden, um die Volltext-Suchfunktion in der PHP-Umgebung zu realisieren. Durch angemessene Konfigurations- und Code -Beispiele können Entwickler schnell effiziente Suchdienste erstellen.