Maison > Article > développement back-end > Utiliser PHP et Manticore Search pour développer diverses fonctions de recherche de fichiers
Utilisez PHP et Manticore Search pour développer diverses fonctions de recherche de fichiers
Introduction :
Dans le développement des technologies de l'information modernes, les fonctions de recherche de fichiers sont devenues des fonctionnalités standard de diverses applications. Afin de fournir une expérience de recherche de fichiers efficace et précise, nous pouvons utiliser PHP et Manticore Search pour le développement. Manticore Search est un moteur de recherche en texte intégral open source doté de performances et de fonctionnalités très flexibles. Dans cet article, nous présenterons comment utiliser PHP et Manticore Search pour développer diverses fonctions de recherche de fichiers et fournirons des exemples de code.
1. Installez et configurez Manticore Search
Tout d'abord, nous devons installer et configurer Manticore Search. La dernière version de Manticore Search peut être téléchargée sur le site officiel (https://manticoresearch.com/). Une fois l'installation terminée, vous devez créer un index et configurer ses champs. Voici un exemple de fichier de configuration d'index (index.conf) :
source src { type = mysql sql_host = localhost sql_user = username sql_pass = password sql_db = database sql_query_pre = SET NAMES utf8 sql_query = SELECT id, title, content FROM documents } index idx { source = src path = /path/to/index/ docinfo = extern morphology = stem_en min_word_len = 2 charset_type = utf-8 }
La configuration ci-dessus se connectera à la base de données MySQL et utilisera la table documents qu'elle contient comme source de données. Notez le remplacement de username
、password
、database
、/path/to/index/
par la valeur réelle.
2. Fonction de recherche de fichiers de base
Ensuite, vous pouvez utiliser le code PHP pour vous connecter à Manticore Search et exécuter les fonctions de recherche de fichiers de base. Voici un exemple de code PHP :
<?php // 连接到Manticore Search $host = 'localhost'; $port = 9306; $index = 'idx'; $sphinx = new SphinxClient(); $sphinx->setServer($host, $port); // 执行文件搜索 $query = 'php开发'; $result = $sphinx->query($query, $index); // 输出搜索结果 if ($result['total_found'] > 0) { foreach ($result['matches'] as $match) { echo 'ID: ' . $match['id'] . '<br>'; echo '标题: ' . $match['attrs']['title'] . '<br>'; echo '内容: ' . $match['attrs']['content'] . '<br><br>'; } } else { echo '没有找到匹配的文件。'; } ?>
Dans le code ci-dessus, une instance SphinxClient est d'abord créée et l'adresse et le port connectés à Manticore Search sont définis. Ensuite, une recherche par mot-clé est effectuée et les résultats sont enregistrés dans la variable $result. Enfin, les résultats de la recherche sont générés via une boucle.
3. Fonctions avancées de recherche de fichiers
En plus de la recherche de base par mot-clé, Manticore Search prend également en charge des fonctions de recherche de fichiers plus avancées, telles que le tri, le filtrage et la mise en surbrillance. Voici un exemple de code :
Trier les résultats de la recherche de fichiers
// 按文件标题排序搜索结果 $sphinx->setSortMode(SPH_SORT_EXTENDED, 'title ASC'); // 按相关性和文件标题排序搜索结果 $sphinx->setSortMode(SPH_SORT_EXTENDED, '@relevance DESC, title ASC');
Filtrer les résultats de la recherche de fichiers
// 仅搜索包含某个标签的文件 $sphinx->setFilter('tags', [1]); // 仅搜索包含某个标签且在一定时间范围内的文件 $sphinx->setFilter('tags', [1]); $sphinx->setFilterRange('timestamp', $start, $end);
Mettre en surbrillance les résultats de la recherche
// 设置高亮显示的HTML标签和样式 $sphinx->setOverride('html', '<span class="highlight">', '</span>'); // 获取带有高亮显示的文件标题和内容 $sphinx->setSelect('*, HIGHLIGHT(title) AS highlighted_title, HIGHLIGHT(content) AS highlighted_content');
Le code ci-dessus ne démontre qu'une petite partie de la fonctionnalité avancée de recherche de fichiers. , vous pouvez le personnaliser davantage en fonction de vos besoins.
Résumé :
Cet article présente comment utiliser PHP et Manticore Search pour développer diverses fonctions de recherche de fichiers. Tout d’abord, nous avons installé et configuré Manticore Search et créé un index. Ensuite, le code PHP est utilisé pour se connecter à Manticore Search et démontrer les capacités de recherche de fichiers de base et avancées. J'espère que cet article pourra vous aider à développer rapidement de puissantes fonctionnalités de recherche de fichiers.
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!