Xunsearch PHP-SDK v1.4.9 权威指南

# 自定义 SCWS 词库

如之前所说，我们所有的索引分词器默认为 scws，这也是我们开发的开源分词系统， 内置的词库基本上能满足绝大多数应用。但总有例外，这也就是即将说的如何自定义词库。

## 1. 全局自定义词库?

这是针对同一个 `xunsearch` 安装实例来讲，该服务端下的所有项目都将共用这个自定义词库。 严格来讲，这是 SCWS 本身就提供的功能，xunsearch 只是做了整合和规范。涉及的相关文件如下 （假设 $prefix 是您的安装目录）

    $prefix/etc/dict_user.txt

打开上述文件，文件开头已经有了相关注释和说明。这个文件就是自定义词库文件， 如果您同一台机器上装有多个 xunsearch 服务端，那么每个服务端独自使用自己的自定义词典文件。

添加删除修改自定义词库只要编辑该文件即可，以下为相关规范：

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

> Note: 该功能自 `1.2.0` 版本起方可使用，源自网友建议。

## 2. 项目自定义词库?

某些情况下，不同的项目需要不同的特殊词库。每个搜索项目的自定义词库文件如下：

    $prefix/data/项目名称/dict_user.txt

文件内容及格式与全局自定义词库是一致的，在此不再赘述。此外，这个文件还可以通过相关的 SDK API 读取和修改。

- XSIndex::getCustomDict 读取当前项目的自定义词库内容，若不存在则返回空字符串
- XSIndex::setCustomDict 设置当前项目的自定义词库内容，格式参见上面文档

> Note: 该功能自 `1.3.4` 版本起方可使用。

$Id$
« 使用索引缓冲区
搜索概述 »
Copyright © 2008-2011 by 杭州云圣网络科技有限公司
All Rights Reserved.