[Xunsearch PHP-SDK](http://www.xunsearch.com) v1.4.8 权威指南
1. [用法简单说明](#)
1. [使用注意事项](#)
# 在 Xunsearch 使用 SCWS
为了便于用户在安装完 `Xunsearch` 后可以通过服务端内置的 scws[1](http://www.xunsearch.com/scws/) 实现分词,而不需要另外再安装 scws 的 php 扩展。从 `1.3.1` 版本起,`Xunsearch` 的 PHP-SDK 中加入 [XSTokenizerScws](#) 类,可通过搜索服务端执行分词功能。
### 1. 用法简单说明[?]()
这儿只做简单介绍和示范,更多详细的用法请点击阅读类参考手册 [XSTokenizerScws](#)。
#### 创建分词对象
~~~
$xs = new XS(...); // 必须先创建一个 xs 实例,否则会抛出异常
$tokenizer = new XSTokenizerScws; // 直接创建实例
~~~
### 获取分词结果
调用 [XSTokenizerScws::getResult](#) 对参数指定的文本字符串执行分词,并返回词汇数组,每个词汇包含 3 个元素,其中:
- *off* 表示这个词汇在源参数文本 *$text* 中的起始偏移位置
- *attr* 这个词汇的词性,使用北大标注
- *word* 分好的词条
~~~
$text = '迅搜(xunsearch)是优秀的开源全文检索解决方案';
$words = $tokenizer->getResult($text);
print_r($words);
~~~
### 提取重要词汇
调用 [XSToenizerScws::getTops](#) 可以简单提取重要词汇,它支持三个参数,返回的词汇数组元素和分词结果类似,只是把 *off* 替换为 *times* 表示这个词在文本中出现的总次数。
~~~
$text = '迅搜(xunsearch)是优秀的开源全文检索解决方案';
// 提取前 5 个重要词,要求词性必须是 n 或v 或 vn
$tops = $tokenizer->getTops($text, 5, 'n,v,vn');
print_r($tops);
~~~
### 判断是否包含指定词性的词汇
这项功能通过 [XSTokenizerScws::hasWord](#) 完成,主要目的是用于类似黑词判断。您可以自制一个词典,并将黑词统一设置为一个独特的属性,比如 "@",那么就可以用该功能判断一段文本是否包含黑词。
~~~
$text = '...';
if ($tokenizer->hasWord($text, '@')) {
// 包含词性为 '@' 的词
}
else {
// 为包含词性为 '@' 的词
}
~~~
### 2. 使用注意事项[?]()
-
这个分词类底层实现是与搜索服务端通讯完成的,因此在使用前必须先初始化一个 [XS](#) 对象
-
这个分词器虽然实现了 [XSTokenizer::getTokens](#),但不推荐直接指定到配置文件的tokenizer 选项中,因为这样做只会让性能更低。
$Id$
[« 同义词搜索功能](#)
Copyright © 2008-2011 by [杭州云圣网络科技有限公司](http://www.xunsearch.com)
All Rights Reserved.
![](https://box.kancloud.cn/2015-09-10_55f11d0600452.gif)
![](https://box.kancloud.cn/2015-09-10_55f11d060a22e.gif)
![](https://box.kancloud.cn/2015-09-10_55f11d0610dd3.gif)
- 权威指南
- 新手上路
- 最新主要变动
- 概述
- 关于 Xunsearch PHP-SDK
- 安装、升级
- 体验 demo 项目
- 开发规范
- 开发流程
- 了解基础对象
- 基础对象概述
- XS 项目
- XSException 异常
- XSDocument 文档
- XSIndex 索引管理
- XSSearch 搜索
- XSTokenizer 分词接口
- 编写项目配置文件
- 项目配置详解
- 自定义分词器
- 编写第一个配置文件
- 管理索引
- 索引概述
- 添加文档
- 更新、修改文档
- 删除文档
- 清空索引
- 平滑重建索引
- 使用索引缓冲区
- 自定义SCWS词库
- 使用搜索
- 搜索概述
- 构建搜索语句
- 获取搜索匹配结果
- 获取搜索匹配数量
- 获取热门搜索词
- 获取相关搜索词
- 搜索建议和纠错
- 按字段值分面搜索
- 使用辅助工具
- RequiredCheck 运行检测
- Indexer 索引管理器
- Quest 搜索测试工具
- SearchSkel 生成搜索代码
- IniWizzard 配置文件向导
- Logger 搜索日志管理
- 专题
- 同义词搜索功能
- 在SDK中使用SCWS分词
- API 指南
- XS
- XS
- XSCommand
- XSComponent
- XSDocument
- XSErrorException
- XSException
- XSFieldMeta
- XSFieldScheme
- XSIndex
- XSSearch
- XSServer
- XS.tokenizer
- XSTokenizer
- XSTokenizerFull
- XSTokenizerNone
- XSTokenizerScws
- XSTokenizerSplit
- XSTokenizerXlen
- XSTokenizerXstep
- XS.util
- XSCsvDataSource
- XSDataFilter
- XSDatabaseDataSource
- XSDebugFilter
- XSJsonDataSource
- XSUtil
- XS.util.db
- XSDatabase
- XSDatabaseMySQL
- XSDatabaseMySQLI
- XSDatabasePDO
- XSDatabasePDO_MySQL
- XSDatabasePDO_PgSQL
- XSDatabasePDO_SQLite
- XSDatabasePgSQL
- XSDatabaseSQLite
- XSDatabaseSQLite3
- XS.utilf
- XSDataSource
- 其它文档
- 关于 xunsearch
- 特色和优势
- Xunsearch 架构简图
- 下载 Xunsearch
- 商业服务与支持
- XunSearch 授权许可证