总结
豆包 AI 助手文章总结

初探xunsearch

php中文网
发布: 2016-06-23 09:15:07
原创
1674人浏览过

xunsearch是什么?

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

安装与测试

  • 安装指南

  • 当你看到

    Installation completed successfully, Thanks you

就安装成功了!

  • 检查本地环境看看是不是满足需求。

    本地环境检测.png


快速开发

开发规范

开发流程

  1. 编写配置文件,创建项目基本配置。在线ini辅助工具
  2. 引入 PHP-SDK的入口文件 $prefix/sdk/php/lib/XS.php 进行搜索功能和界面开发。
  3. 调试,部署

目录结构

-|- 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 "<pre class="brush:php;toolbar:false">";  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 "<hr>";    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的服务,首先要开启服务。或者,将服务写到开机的脚本文件中。
登录后复制
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号