栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > xunsearch

xunsearch php实例,初探xunsearch

xunsearch 更新时间:发布时间: 百科书网 趣学号

xunsearch是什么? 开源免费、高性能、多功能、简单易用的专业全文检索技术方案 点击官网,了解更多

安装与测试 安装指南

当你看到 Installation completed successfully, Thanks you

就安装成功了! 检查本地环境看看是不是满足需求。

本地环境检测.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. 自定义分词

自定义分词文档自定义分词规则 文件为纯文本文件,编码必须是 UTF-8,可用任何编辑器修改每行一条记录表示一个词,每行包含 1~4 个字段,字段之间用空格或制表符(t)分隔字段含义依次表示 “词语”,“词频(TF)”,“逆词频率(IDF)”,“词性(ATTR)”后面三个字段如果省略依次使用 scws 的默认值特殊词性 ! 可用于表示删除该词自定义词典优先于内置词典加载和使用,以 # 开头的行为注释 $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. 索引 索引在 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();

Tips 每次使用xunsearch的服务,首先要开启服务。或者,将服务写到开机的脚本文件中。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/863688.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号