Dans les applications Web modernes, les moteurs de recherche en texte intégral sont largement utilisés sur diverses plates-formes comme outils importants pour améliorer l'expérience utilisateur. Il peut fournir des résultats de recherche rapides et précis, aidant les utilisateurs à trouver les informations dont ils ont besoin plus efficacement. Cet article vous montrera comment construire un moteur de recherche en texte intégral efficace avec PHP et Coreek.
CoreSeek est une solution de recherche en texte complet open source basée sur Sphinx Engine, lancée par l'équipe de développement chinoise. Il a des performances et une évolutivité extrêmement élevées, peut gérer des données à grande échelle et fournir une réponse rapide, en particulier pour les applications qui nécessitent un traitement massif.
Pour installer CoreReseek dans un environnement Linux, vous pouvez exécuter la commande suivante:
<span class="fun">sudo apt-get install coreseek</span>
Une fois l'installation terminée, accédez au répertoire d'installation de CoreSeek et modifiez le fichier de configuration pour terminer les paramètres de base:
<span class="fun">CD / USR / Local / Coreek</span>
<span class="fun">vi sphinx.conf</span>
Dans le fichier de configuration, nous devons définir la source d'index et l'index. Voici un exemple de configuration de source d'index simple:
source data
{
type = mysql
mysql_host = localhost
mysql_user = username
mysql_pass = password
mysql_db = database
mysql_port = 3306
sql_query = SELECT id, title, content FROM documents
sql_attr_uint = id
}
Ensuite, définissez l'index et spécifiez le chemin:
index data_index
{
source = data
path = /usr/local/coreseek/var/data
docinfo = extern
}
Une fois la configuration terminée, démarrez le service de recherche Coreek:
cd /usr/local/coreseek
searchd
Une fois l'installation terminée et le démarrage du Coreek, nous pouvons implémenter la fonction de recherche via PHP. Tout d'abord, installez l'extension sphinx pour PHP:
<span class="fun">sudo apt-get install php-sphinx</span>
Une fois l'installation terminée, voici l'exemple de code pour se connecter à CoreSek à l'aide de PHP et effectuer des recherches:
<?php
require('sphinxapi.php');
<p>// créerSphinxClientObjet<br>
$sphinx = new SphinxClient();</p>
<p>// Configurer la configuration de la connexion<br>
$sphinx->SetServer('localhost', 9312);<br>
$sphinx->SetMatchMode(SPH_MATCH_ALL);</p>
<p>// Effectuer une recherche<br>
$result = $sphinx->Query('keyword', 'data_index');</p>
<p>// Résultats de recherche de sortie<br>
if ($result !== false) {<br>
if ($result['total'] > 0) {<br>
foreach ($result['matches'] as $match) {<br>
echo $match['id'] . ': ' . $match['weight'] . '<br>';<br>
}<br>
} else {<br>
echo 'No results found.';<br>
}<br>
} else {<br>
echo 'Search failed.';<br>
}<br>
?>
Dans ce code, nous créons d'abord un objet SphinxClient et définissons l'adresse du serveur et le modèle de correspondance. Ensuite, la recherche est effectuée via la méthode «Query» et le résultat est enfin sorti.
Afin d'améliorer l'efficacité des moteurs de recherche, nous pouvons adopter certaines stratégies d'optimisation. Voici les méthodes d'optimisation courantes:
En combinant PHP et CoreSeek, les développeurs peuvent créer des moteurs de recherche en texte intégral efficaces pour répondre aux besoins des utilisateurs pour des recherches rapides et précises. Avec la fonction de recherche puissante de CoreSeek et la flexibilité de PHP, nous pouvons optimiser davantage les performances de recherche et améliorer la vitesse de réponse et les capacités de traitement du système.