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

xunsearch php实例,初探xunsearch

xunsearch 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

xunsearch php实例,初探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.mshxw.com
本文地址:https://www.mshxw.com/it/863760.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号