ホームページ >バックエンド開発 >PHPチュートリアル >xunsearch の概要
オープンソースの無料、高パフォーマンス、多機能、使いやすいプロフェッショナルな全文検索テクノロジー ソリューション 詳細については、公式 Web サイトをクリックしてください
インストールは成功しました!
ローカル環境検出.png
迅速な開発
-|- data/ 索引数据目录 |- project/ |- db/ 默认的主索引数据库,各种检索数据均存放在此 |- log_db/ 搜索日志数据库,用于存放搜索日志相关,用于实现相关搜索、搜索建议、拼音搜索等 |- search.log |- etc/ |- dict_user.txt 全局自定义词库|- sdk/ |- php/ |- app/ 项目的配置文件 |- lib/XS.php 入口文件,所有搜索功能必须且只需包含此文件 |- util/ 辅助工具程序目录 |- RequireCheck.php 用于检测您的 PHP 环境是否符合运行条件 |- Quest.php 搜索测试工具 |- Indexer.php 索引管理工具
xunsearch采用基于 scws + Xapian 的开源全文搜索引擎
require_once './sdk/php/lib/XS.php'; $obj = new XS('demo'); $tokenizer = new XSTokenizerScws; // 直接创建实例 $text = '北京大学网络教育'; $words = $tokenizer->getResult($text); echo "<pre class="brush:php;toolbar:false">"; print_r($words);
2.カスタムワードセグメンテーション
で始まる行動コメント
$path = "./etc/dict_user.txt"; //加载自定义分词 自定义+默认 $tokenizer->addDict($path); //只使用自定义分词 // $tokenizer->setDict($path); $new = $tokenizer->getResult($text); echo "<hr>"; print_r($new);
3. 重要な語彙を抽出する検索
$tops = $tokenizer->getTops($text, 10, 'n,v,vn');
Xunsearch におけるインデックスとは、一般に検索に使用されるデータベース ファイルの総称を指します。データを取得するたびにインデックス ファイルにアクセスして読み取り、データを更新するたびにインデックス ファイルを変更します。
Indexer インデックス管理ツールを使用すると、操作を簡素化できます2. 基本的な検索
require_once './sdk/php/lib/XS.php'; $demoObj = new XS('demo'); $searchObj = $demoObj->getSearch(); $keyword = $_GET['keyword']; $page = $_GET['page']; if($page <= 1){ $page = 1; } $pageSize = 10; $offset = ($page - 1) * $pageSize; $searchObj->setLimit($pageSize,$offset)->search($keyword);
3. 同義語検索
$indexObj = $demoObj->getIndex(); //添加同义词 $indexObj->addSynonym("北京大学","北大"); $indexObj->flushLogging();
每次使用xunsearch的服务,首先要开启服务。或者,将服务写到开机的脚本文件中。