[Xunsearch PHP-SDK](http://www.xunsearch.com) v1.4.8 API 參考文檔
# XSDocument
[All Packages](#)| [方法(函數)](#)
| 包 | [XS](#) |
|-----|-----|
| 繼承關系 | class XSDocument |
| 實現接口 | ArrayAccess, IteratorAggregate, Traversable |
| 版本 | 1.0.0 |
| 源代碼 | [sdk/php/lib/XSDocument.class.php](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php) |
文檔用于描述檢索/索引的基礎對象, 包含一組字段及其值, 相當于常規SQL數據表中的一行記錄.通過魔術方法, 每個字段名都是文檔的虛擬屬性, 可直接賦值或取值, 也支持數組方式訪問文檔字段.
~~~
$doc = new XSDocument;
$doc->name = 'value'; // 用對象屬性方式進行賦值、取值
$doc['name'] = 'value'; // 用數組下標方式進行賦值、取值
$value = $doc->f('name'); // 用函數方式進行取值
$doc->setField('name', 'value'); // 用函數方式進行賦值
$doc->setFields(array('name' => 'value', 'name2' => 'value2')); // 用數組進行批量賦值
// 迭代方式取所有字段值
foreach($doc as $name => $value)
{
echo "$name: $value\n";
}
~~~
如果有特殊需求, 可以自行擴展本類, 重寫 beforeSubmit() 及 afterSubmit() 方法以定義在索引提交前后的行為
### Public 方法
[隱去繼承來的方法](#)
| 名稱 | 描述 | 定義于 |
|-----|-----|-----|
| [__call()](#) | 魔術方法 __call | XSDocument |
| [__construct()](#) | 構造函數 | XSDocument |
| [__get()](#) | 魔術方法 __get | XSDocument |
| [__set()](#) | 魔術方法 __set | XSDocument |
| [addIndex()](#) | 給字段增加索引文本 (僅限索引文檔) | XSDocument |
| [addTerm()](#) | 給字段增加索引詞 (僅限索引文檔) | XSDocument |
| [afterSubmit()](#) | 重寫接口, 在文檔成功提交到索引服務器后調用 | XSDocument |
| [beforeSubmit()](#) | 重寫接口, 在文檔提交到索引服務器前調用 | XSDocument |
| [f()](#) | 獲取文檔字段的值 | XSDocument |
| [getAddIndex()](#) | 獲取字段的附加索引文本 (僅限索引文檔) | XSDocument |
| [getAddTerms()](#) | 獲取字段的附加索引詞列表 (僅限索引文檔) | XSDocument |
| [getCharset()](#) | 獲取文檔字符集 | XSDocument |
| [getFields()](#) | 獲取字段值 | XSDocument |
| [getIterator()](#) | IteratorAggregate 接口, 以支持 foreach 遍歷訪問字段列表 | XSDocument |
| [offsetExists()](#) | ArrayAccess 接口, 判斷字段是否存在, 勿直接調用 | XSDocument |
| [offsetGet()](#) | ArrayAccess 接口, 取得字段值, 勿直接調用 | XSDocument |
| [offsetSet()](#) | ArrayAccess 接口, 設置字段值, 勿直接調用 | XSDocument |
| [offsetUnset()](#) | ArrayAccess 接口, 刪除字段值, 勿直接調用 | XSDocument |
| [setCharset()](#) | 設置文檔字符集 | XSDocument |
| [setField()](#) | 設置某個字段的值 | XSDocument |
| [setFields()](#) | 批量設置字段值 | XSDocument |
### 方法明細
__call()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>__call</b>(string $name, array $args)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">方法名稱</td></tr><tr><td class="paramNameCol">$args</td> <td class="paramTypeCol">array</td> <td class="paramDescCol">調用時的參數列表 (此處無用)</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L108](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L108) (**[顯示](#)**)
`public?function?__call($name,?$args)
{
????if?($this->_meta?!==?null)?{
????????$name?=?strtolower($name);
????????if?(isset($this->_meta[$name]))?{
????????????return?$this->_meta[$name];
????????}
????}
????throw?new?XSException('Call?to?undefined?method?`'?.?get_class($this)?.?'::'?.?$name?.?'()\'');
}`
魔術方法 __call實現以函數調用訪問搜索結果元數據, 支持: docid, rank, percent, weight, ccount
__construct()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>__construct</b>(mixed $p=NULL, string $d=NULL)</div></td></tr><tr><td class="paramNameCol">$p</td> <td class="paramTypeCol">mixed</td> <td class="paramDescCol">字符串表示索引文檔的編碼或搜索結果文檔的 meta 數據, 數組則表示或索引文檔的初始字段數據</td></tr><tr><td class="paramNameCol">$d</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">可選參數, 當 $p 不為編碼時, 本參數表示數據編碼</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L56](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L56) (**[顯示](#)**)
`public?function?__construct($p?=?null,?$d?=?null)
{
????$this->_data?=?array();
????if?(is_array($p))?{
????????$this->_data?=?$p;
????}?elseif?(is_string($p))?{
????????if?(strlen($p)?!==?self::$_resSize)?{
????????????$this->setCharset($p);
????????????return;
????????}
????????$this->_meta?=?unpack(self::$_resFormat,?$p);
????}
????if?($d?!==?null?&&?is_string($d))?{
????????$this->setCharset($d);
????}
}`
構造函數
__get()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public mixed <b>__get</b>(string $name)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">mixed</td> <td class="paramDescCol">字段值, 若不存在返回 null</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L79](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L79) (**[顯示](#)**)
`public?function?__get($name)
{
????if?(!isset($this->_data[$name]))?{
????????return?null;
????}
????return?$this->autoConvert($this->_data[$name]);
}`
魔術方法 __get實現以對象屬性方式獲取文檔字段值
__set()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>__set</b>(string $name, mixed $value)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">$value</td> <td class="paramTypeCol">mixed</td> <td class="paramDescCol">字段值</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L93](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L93) (**[顯示](#)**)
`public?function?__set($name,?$value)
{
????if?($this->_meta?!==?null)?{
????????throw?new?XSException('Magick?property?of?result?document?is?read-only');
????}
????$this->setField($name,?$value);
}`
魔術方法 __set實現以對象屬性方式設置文檔字段值
addIndex()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>addIndex</b>(string $field, string $text)</div></td></tr><tr><td class="paramNameCol">$field</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">文本所屬的字段名稱</td></tr><tr><td class="paramNameCol">$text</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">文本內容</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L256](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L256) (**[顯示](#)**)
`public?function?addIndex($field,?$text)
{
????$field?=?strval($field);
????if?(!is_array($this->_texts))?{
????????$this->_texts?=?array();
????}
????if?(!isset($this->_texts[$field]))?{
????????$this->_texts[$field]?=?strval($text);
????}?else?{
????????$this->_texts[$field]?.=?"\n"?.?strval($text);
????}
}`
給字段增加索引文本 (僅限索引文檔)
addTerm()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>addTerm</b>(string $field, string $term, int $weight=1)</div></td></tr><tr><td class="paramNameCol">$field</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">詞條所屬字段名稱</td></tr><tr><td class="paramNameCol">$term</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">詞條內容, 不超過 255字節</td></tr><tr><td class="paramNameCol">$weight</td> <td class="paramTypeCol">int</td> <td class="paramDescCol">詞重, 默認為 1</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L236](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L236) (**[顯示](#)**)
`public?function?addTerm($field,?$term,?$weight?=?1)
{
????$field?=?strval($field);
????if?(!is_array($this->_terms))?{
????????$this->_terms?=?array();
????}
????if?(!isset($this->_terms[$field]))?{
????????$this->_terms[$field]?=?array($term?=>?$weight);
????}?elseif?(!isset($this->_terms[$field][$term]))?{
????????$this->_terms[$field][$term]?=?$weight;
????}?else?{
????????$this->_terms[$field][$term]?+=?$weight;
????}
}`
給字段增加索引詞 (僅限索引文檔)
afterSubmit()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>afterSubmit</b>(<a href="XSIndex.html">XSIndex</a> $index)</div></td></tr><tr><td class="paramNameCol">$index</td> <td class="paramTypeCol"><a href="XSIndex.html">XSIndex</a></td> <td class="paramDescCol">索引操作對象</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L344](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L344) (**[顯示](#)**)
`public?function?afterSubmit($index)
{
????
}`
重寫接口, 在文檔成功提交到索引服務器后調用繼承此類進行重寫該方法時, 強烈建議要調用 parent::afterSave($index) 以確保完整.
beforeSubmit()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public bool <b>beforeSubmit</b>(<a href="XSIndex.html">XSIndex</a> $index)</div></td></tr><tr><td class="paramNameCol">$index</td> <td class="paramTypeCol"><a href="XSIndex.html">XSIndex</a></td> <td class="paramDescCol">索引操作對象</td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">bool</td> <td class="paramDescCol">默認返回 true, 若返回 false 將阻止該文檔提交到索引服務器</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L331](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L331) (**[顯示](#)**)
`public?function?beforeSubmit(XSIndex?$index)
{
????if?($this->_charset?===?null)?{
????????$this->_charset?=?$index->xs->getDefaultCharset();
????}
????return?true;
}`
重寫接口, 在文檔提交到索引服務器前調用繼承此類進行重寫該方法時, 必須調用 parent::beforeSave($index) 以確保正確
f()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public mixed <b>f</b>(string $name)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">mixed</td> <td class="paramDescCol">字段值, 若不存在則返回 null</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L192](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L192) (**[顯示](#)**)
`public?function?f($name)
{
????return?$this->__get(strval($name));
}`
獲取文檔字段的值
getAddIndex()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public string <b>getAddIndex</b>(string $field)</div></td></tr><tr><td class="paramNameCol">$field</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">文本內容, 若無則返回 null</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L221](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L221) (**[顯示](#)**)
`public?function?getAddIndex($field)
{
????$field?=?strval($field);
????if?($this->_texts?===?null?||?!isset($this->_texts[$field]))?{
????????return?null;
????}
????return?$this->autoConvert($this->_texts[$field]);
}`
獲取字段的附加索引文本 (僅限索引文檔)
getAddTerms()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public array <b>getAddTerms</b>(string $field)</div></td></tr><tr><td class="paramNameCol">$field</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">array</td> <td class="paramDescCol">索引詞列表(詞為鍵, 詞重為值), 若無則返回 null</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L202](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L202) (**[顯示](#)**)
`public?function?getAddTerms($field)
{
????$field?=?strval($field);
????if?($this->_terms?===?null?||?!isset($this->_terms[$field]))?{
????????return?null;
????}
????$terms?=?array();
????foreach?($this->_terms[$field]?as?$term?=>?$weight)?{
????????$term?=?$this->autoConvert($term);
????????$terms[$term]?=?$weight;
????}
????return?$terms;
}`
獲取字段的附加索引詞列表 (僅限索引文檔)
getCharset()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public string <b>getCharset</b>()</div></td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">當前設定的字符集(已大寫), 若未曾設置則返回 null</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L123](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L123) (**[顯示](#)**)
`public?function?getCharset()
{
????return?$this->_charset;
}`
獲取文檔字符集
getFields()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public array <b>getFields</b>()</div></td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">array</td> <td class="paramDescCol">返回已設置的字段鍵值數組</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L144](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L144) (**[顯示](#)**)
`public?function?getFields()
{
????return?$this->_data;
}`
獲取字段值
getIterator()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>getIterator</b>()</div></td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L272](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L272) (**[顯示](#)**)
`public?function?getIterator()
{
????if?($this->_charset?!==?null?&&?$this->_charset?!==?'UTF-8')?{
????????$from?=?$this->_meta?===?null???$this->_charset?:?'UTF-8';
????????$to?=?$this->_meta?===?null???'UTF-8'?:?$this->_charset;
????????return?new?ArrayIterator(XS::convert($this->_data,?$to,?$from));
????}
????return?new?ArrayIterator($this->_data);
}`
IteratorAggregate 接口, 以支持 foreach 遍歷訪問字段列表
offsetExists()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public bool <b>offsetExists</b>(string $name)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">bool</td> <td class="paramDescCol">存在返回 true, 若不存在返回 false</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L287](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L287) (**[顯示](#)**)
`public?function?offsetExists($name)
{
????return?isset($this->_data[$name]);
}`
ArrayAccess 接口, 判斷字段是否存在, 勿直接調用
offsetGet()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public mixed <b>offsetGet</b>(string $name)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">mixed</td> <td class="paramDescCol">字段值, 若不存在返回 null</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L298](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L298) (**[顯示](#)**)
`public?function?offsetGet($name)
{
????return?$this->__get($name);
}`
ArrayAccess 接口, 取得字段值, 勿直接調用
#### 參見
- [__get](#)
offsetSet()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>offsetSet</b>(string $name, mixed $value)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">$value</td> <td class="paramTypeCol">mixed</td> <td class="paramDescCol">字段值</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L309](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L309) (**[顯示](#)**)
`public?function?offsetSet($name,?$value)
{
????if?(!is_null($name))?{
????????$this->__set(strval($name),?$value);
????}
}`
ArrayAccess 接口, 設置字段值, 勿直接調用
#### 參見
- [__set](#)
offsetUnset()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>offsetUnset</b>(string $name)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L320](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L320) (**[顯示](#)**)
`public?function?offsetUnset($name)
{
????unset($this->_data[$name]);
}`
ArrayAccess 接口, 刪除字段值, 勿直接調用
setCharset()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>setCharset</b>(string $charset)</div></td></tr><tr><td class="paramNameCol">$charset</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">設置文檔字符集</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L132](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L132) (**[顯示](#)**)
`public?function?setCharset($charset)
{
????$this->_charset?=?strtoupper($charset);
????if?($this->_charset?==?'UTF8')?{
????????$this->_charset?=?'UTF-8';
????}
}`
設置文檔字符集
setField()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>setField</b>(string $name, mixed $value, bool $isMeta=false)</div></td></tr><tr><td class="paramNameCol">$name</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">字段名稱</td></tr><tr><td class="paramNameCol">$value</td> <td class="paramTypeCol">mixed</td> <td class="paramDescCol">字段值</td></tr><tr><td class="paramNameCol">$isMeta</td> <td class="paramTypeCol">bool</td> <td class="paramDescCol">是否為元數據字段</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L170](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L170) (**[顯示](#)**)
`public?function?setField($name,?$value,?$isMeta?=?false)
{
????if?($value?===?null)?{
????????if?($isMeta)?{
????????????unset($this->_meta[$name]);
????????}?else?{
????????????unset($this->_data[$name]);
????????}
????}?else?{
????????if?($isMeta)?{
????????????$this->_meta[$name]?=?$value;
????????}?else?{
????????????$this->_data[$name]?=?$value;
????????}
????}
}`
設置某個字段的值
setFields()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>setFields</b>(array $data)</div></td></tr><tr><td class="paramNameCol">$data</td> <td class="paramTypeCol">array</td> <td class="paramDescCol">字段名及其值組成的數組</td></tr></table>
**源碼:**[sdk/php/lib/XSDocument.class.php#L154](https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSDocument.class.php#L154) (**[顯示](#)**)
`public?function?setFields($data)
{
????if?($data?===?null)?{
????????$this->_data?=?array();
????????$this->_meta?=?$this->_terms?=?$this->_texts?=?null;
????}?else?{
????????$this->_data?=?array_merge($this->_data,?$data);
????}
}`
批量設置字段值這里是以合并方式賦值, 即不會清空已賦值并且不在參數中的字段.
Copyright ? 2008-2011 by [杭州云圣網絡科技有限公司](http://www.xunsearch.com)
All Rights Reserved.
- 權威指南
- 新手上路
- 最新主要變動
- 概述
- 關于 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 授權許可證