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.
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
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
Um Elasticsearch in PHP -Projekten zu verwenden, müssen Sie den offiziellen PHP -Client installieren:
composer require elasticsearch/elasticsearch
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
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"
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.
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.