Dans les applications Web modernes, les fonctions de recherche sont devenues une partie indispensable. En particulier dans les plateformes de contenu ou les systèmes de gestion d'articles, une expérience de recherche précise affecte directement la satisfaction des utilisateurs. Les résultats de recherche répétés interfèrent souvent avec le jugement de l'utilisateur, donc comment déduir et organiser des poids lourds est devenu une tâche importante.
XunSearch est un outil de recherche de texte complet open source qui prend en charge les multilingues. Il présente les avantages de hautes performances et une forte facilité d'utilisation, et convient à une recherche efficace en combinaison avec PHP.
Tout d'abord, assurez-vous que le serveur a l'installation de XunSearch correctement et que l'index est configuré. Pour les méthodes d'installation, veuillez vous référer à sa documentation officielle.
Une fois l'installation terminée, interagissez avec le moteur de recherche via le SDK PHP.
L'utilisateur soumet les mots clés via le formulaire, déclenchant la logique de recherche. Ce qui suit est la structure de forme HTML de base:
<form action="search.php" method="GET">
<input type="text" name="keyword" placeholder="Veuillez saisir les mots clés">
<input type="submit" value="recherche">
</form>
Le noyau de la logique de recherche consiste à initialiser l'objet de recherche, à recevoir des mots clés en entrée par l'utilisateur et à réaliser la déduplication via la fonction FACET.
require_once '/path/to/xunsearch/sdk/php/lib/XS.php';
$xs = new XS('index'); // Veuillez le remplacer par le nom d'index réel
$search = $xs->search;
$keyword = $_GET['keyword'];
$search->setQuery($keyword);
$search->setLimit(10);
// Activer la fonction des statistiques des facettes
$search->setFacets(array("id"));
$result = $search->search();
$docs = $result->docs;
$articleIds = array();
foreach ($docs as $doc) {
$articleIds[] = $doc->id;
}
// Exclure les doublonsIDArticles
$filteredResults = array();
foreach ($docs as $doc) {
if (!in_array($doc->id, $articleIds)) {
$filteredResults[] = $doc;
}
}
// 输出去重后的recherche结果
foreach ($filteredResults as $doc) {
echo $doc->title . "<br>";
echo $doc->content . "<br>";
}
Le code ci-dessus montre la logique de recherche et de transfert de poids de base, et les développeurs peuvent se développer davantage en fonction des besoins réels:
PHP combinée à XunSearch pour réaliser les résultats de recherche La déduplication est un moyen important d'améliorer la qualité de la recherche. Qu'il s'agisse d'une plate-forme de contenu, d'une communauté de questions / réponses ou d'un système de documents, cet article peut réduire l'interférence des données en double et optimiser l'expérience utilisateur.
À l'avenir, nous pouvons continuer à explorer plus de modules fonctionnels de XunSearch, tels que l'achèvement automatique, la récupération de pinyin, la pondération multi-champs, etc., pour améliorer davantage le niveau d'intelligence du système de recherche.