xunsearch是什么?
安装与测试
安装指南
当你看到
就安装成功了!
- 检查本地环境看看是不是满足需求。
本地环境检测.png
快速开发
开发规范
开发流程
- 编写配置文件,创建项目基本配置。在线ini辅助工具
- 引入 PHP-SDK的入口文件 $prefix/sdk/php/lib/XS.php 进行搜索功能和界面开发。
- 调试,部署
目录结构
-|- 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 的开源全文搜索引擎
登录后复制
操作文档scws官网词性解释词性详细解释
1. 基本分词
require_once './sdk/php/lib/XS.php'; $obj = new XS('demo'); $tokenizer = new XSTokenizerScws; // 直接创建实例 $text = '北京大学网络教育'; $words = $tokenizer->getResult($text); echo ""; print_r($words);登录后复制
2. 自定义分词
自定义分词文档自定义分词规则
$path = "./etc/dict_user.txt"; //加载自定义分词 自定义+默认 $tokenizer->addDict($path); //只使用自定义分词 // $tokenizer->setDict($path); $new = $tokenizer->getResult($text); echo "
"; print_r($new);
登录后复制
3. 提取重要词汇
$tops = $tokenizer->getTops($text, 10, 'n,v,vn');
登录后复制
搜索
首先要将数据导入到搜索服务器中,并创建索引,才能实现搜索功能。官方文档
1. 索引
使用Indexer索引管理工具,可以简化操作
2. 基本搜索
require_once './sdk/php/lib/XS.php'; $demoObj = new XS('demo'); $searchObj = $demoObj->getSearch(); $keyword = $_GET['keyword']; $page = $_GET['page']; if($page setLimit($pageSize,$offset)->search($keyword);
登录后复制
3. 同义词搜索
$indexObj = $demoObj->getIndex(); //添加同义词 $indexObj->addSynonym("北京大学","北大"); $indexObj->flushLogging();
登录后复制
Tips
每次使用xunsearch的服务,首先要开启服务。或者,将服务写到开机的脚本文件中。
登录后复制