Comment implémenter la fonction de saisie semi-automatique dans PHP et Elasticsearch
Introduction :
La fonction de saisie semi-automatique est l'une des fonctionnalités courantes des applications Web modernes. Il améliore l'expérience utilisateur et la précision de la recherche en fournissant des conseils et des suggestions pertinents basés sur les entrées de l'utilisateur. Elasticsearch est un puissant moteur de recherche open source qui offre des fonctionnalités de recherche en texte intégral rapides, évolutives et efficaces. En combinant PHP et Elasticsearch, nous pouvons facilement implémenter la fonctionnalité de saisie semi-automatique.
Étapes :
<?php require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => [ 'type' => 'text', 'analyzer' => 'standard', ], ], ], ], ]; $response = $client->indices()->create($params); if ($response['acknowledged']) { echo 'Index created successfully'; } ?>
L'extrait de code ci-dessus crée un index appelé my_index
et définit un champ appelé title
. type
est défini sur text
, indiquant que ce champ stockera les données texte. analyzer
est défini sur standard
, ce qui signifie utiliser le tokenizer standard pour la recherche en texte intégral. my_index
的索引,并定义了一个名为 title
的字段。type
设置为 text
,表示这个字段将存储文本数据。analyzer
设置为 standard
,表示使用标准分词器进行全文搜索。
<?php require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'body' => [ 'title' => 'Elasticsearch', ], ]; $response = $client->index($params); if ($response['result'] == 'created') { echo 'Data inserted successfully'; } ?>
上面的代码片段将一个文档插入到 my_index
索引中,文档的 title
字段的值为 "Elasticsearch"。
<?php require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'body' => [ 'suggest' => [ 'my_suggestion' => [ 'text' => 'ela', 'completion' => [ 'field' => 'title', ], ], ], ], ]; $response = $client->suggest($params); $suggestions = $response['suggest']['my_suggestion'][0]['options']; foreach ($suggestions as $suggestion) { echo $suggestion['text']." "; } ?>
上面的代码片段使用 suggest
API 来获取与输入文本匹配的建议列表。在 text
字段中,我们传递用户的输入。在 completion
字段中,我们指定需要自动完成功能的字段。
总结:
通过结合 PHP 和 Elasticsearch,我们可以轻松实现自动完成功能。首先,我们需要安装 Elasticsearch 并创建索引和映射。然后,我们可以插入数据并使用 suggest
my_index
avec la valeur du champ title
du document étant "Elasticsearch". 🎜suggest
pour obtenir une liste de suggestions qui correspondent au texte saisi. Dans le champ text
, nous transmettons la saisie de l'utilisateur. Dans le champ complétion
, nous spécifions les champs qui nécessitent une fonctionnalité de saisie semi-automatique. 🎜🎜Résumé : 🎜En combinant PHP et Elasticsearch, nous pouvons facilement implémenter la fonctionnalité de saisie semi-automatique. Tout d’abord, nous devons installer Elasticsearch et créer des index et des mappages. Nous pouvons ensuite insérer les données et utiliser l'API suggest
pour obtenir des suggestions de saisie semi-automatique. Les étapes et l'exemple de code indiqués ci-dessus vous aideront à comprendre comment implémenter la fonctionnalité de saisie semi-automatique en PHP à l'aide d'Elasticsearch. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!