| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
- <meta name="language" content="zh-cn" />
- <link rel="stylesheet" type="text/css" href="css/style.css" />
- <link rel="stylesheet" type="text/css" href="css/api.css" />
- <script type="text/javascript" src="js/jquery.js"></script>
- <title>XSFieldScheme</title>
- </head>
- <body>
- <div id="apiPage">
- <div id="apiHeader">
- <a href="http://www.xunsearch.com" target="_blank">Xunsearch PHP-SDK</a> v1.3.2 API 参考文档
- </div><!-- end of header -->
- <div id="content" class="api-index">
- <h1>XSFieldScheme</h1>
- <div id="nav">
- <a href="index.html">All Packages</a>
- | <a href="#methods">方法(函数)</a>
- </div>
- <table class="summaryTable docClass">
- <colgroup>
- <col class="col-name" />
- <col class="col-value" />
- </colgroup>
- <tr>
- <th>包</th>
- <td><a href="index.html#XS">XS</a></td>
- </tr>
- <tr>
- <th>继承关系</th>
- <td>class XSFieldScheme</td>
- </tr>
- <tr>
- <th>实现接口</th>
- <td>IteratorAggregate, Traversable</td>
- </tr>
- <tr>
- <th>版本</th>
- <td>1.0.0</td>
- </tr>
- <tr>
- <th>源代码</th>
- <td><a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php">sdk/php/lib/XSFieldScheme.class.php</a></td>
- </tr>
- </table>
- <div id="classDescription">
- XS 数据字段方案
- 每个方案包含若干个字段结构对象 <a href="XSFieldMeta.html">XSFieldMeta</a>
- 每个方案必须并且只能包含一个类型为 ID 的字段, 支持 foreach 遍历所有字段</div>
- <a name="properties"></a>
- <a name="methods"></a>
- <div class="summary docMethod">
- <h2>Public 方法</h2>
- <p><a href="#" class="toggle">隐去继承来的方法</a></p>
- <table class="summaryTable">
- <colgroup>
- <col class="col-method" />
- <col class="col-description" />
- <col class="col-defined" />
- </colgroup>
- <tr>
- <th>名称</th><th>描述</th><th>定义于</th>
- </tr>
- <tr id="__toString">
- <td><a href="XSFieldScheme.html#__toString-detail">__toString()</a></td>
- <td>将对象转换为配置文件字符串</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="addField">
- <td><a href="XSFieldScheme.html#addField-detail">addField()</a></td>
- <td>添加字段到方案中</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="checkValid">
- <td><a href="XSFieldScheme.html#checkValid-detail">checkValid()</a></td>
- <td>判断该字段方案是否有效、可用</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="getAllFields">
- <td><a href="XSFieldScheme.html#getAllFields-detail">getAllFields()</a></td>
- <td>获取项目所有字段结构设置</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="getField">
- <td><a href="XSFieldScheme.html#getField-detail">getField()</a></td>
- <td>获取项目字段元数据</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="getFieldBody">
- <td><a href="XSFieldScheme.html#getFieldBody-detail">getFieldBody()</a></td>
- <td>获取内容字段元数据</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="getFieldId">
- <td><a href="XSFieldScheme.html#getFieldId-detail">getFieldId()</a></td>
- <td>获取主键字段元数据</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="getFieldTitle">
- <td><a href="XSFieldScheme.html#getFieldTitle-detail">getFieldTitle()</a></td>
- <td>获取标题字段元数据</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="getIterator">
- <td><a href="XSFieldScheme.html#getIterator-detail">getIterator()</a></td>
- <td>IteratorAggregate 接口, 以支持 foreach 遍历访问所有字段</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="getVnoMap">
- <td><a href="XSFieldScheme.html#getVnoMap-detail">getVnoMap()</a></td>
- <td>获取所有字段的vno与名称映映射关系</td>
- <td>XSFieldScheme</td>
- </tr>
- <tr id="logger">
- <td><a href="XSFieldScheme.html#logger-detail">logger()</a></td>
- <td>获取搜索日志的字段方案</td>
- <td>XSFieldScheme</td>
- </tr>
- </table>
- </div>
- <a name="events"></a>
- <h2>方法明细</h2>
- <div class="detailHeader" id="__toString-detail">
- __toString()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public void <b>__toString</b>()</div>
- </td></tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L33">sdk/php/lib/XSFieldScheme.class.php#L33</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">__toString</span><span style="color: #007700">()<br />{<br /> </span><span style="color: #0000BB">$str </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /> foreach (</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields </span><span style="color: #007700">as </span><span style="color: #0000BB">$field</span><span style="color: #007700">)<br /> {<br /> </span><span style="color: #0000BB">$str </span><span style="color: #007700">.= </span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">toConfig</span><span style="color: #007700">() . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /> }<br /> return </span><span style="color: #0000BB">$str</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>将对象转换为配置文件字符串</p>
- <div class="detailHeader" id="addField-detail">
- addField()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public void <b>addField</b>(mixed $field, array $config=NULL)</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$field</td>
- <td class="paramTypeCol">mixed</td>
- <td class="paramDescCol">若类型为 XSFieldMeta 表示要添加的字段对象,
- 若类型为 string 表示字段名称, 连同 $config 参数一起创建字段对象</td>
- </tr>
- <tr>
- <td class="paramNameCol">$config</td>
- <td class="paramTypeCol">array</td>
- <td class="paramDescCol">当 $field 参数为 string 时作为新建字段的配置内容</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L139">sdk/php/lib/XSFieldScheme.class.php#L139</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">, </span><span style="color: #0000BB">$config </span><span style="color: #007700">= </span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />{<br /> if (!</span><span style="color: #0000BB">$field </span><span style="color: #007700">instanceof </span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">)<br /> </span><span style="color: #0000BB">$field </span><span style="color: #007700">= new </span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">, </span><span style="color: #0000BB">$config</span><span style="color: #007700">);<br /> <br /> if (isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">name</span><span style="color: #007700">]))<br /> throw new </span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Duplicated field name: `' </span><span style="color: #007700">. </span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">name </span><span style="color: #007700">. </span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br /><br /> if (</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">isSpeical</span><span style="color: #007700">())<br /> {<br /> if (isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">type</span><span style="color: #007700">]))<br /> {<br /> </span><span style="color: #0000BB">$prev </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">type</span><span style="color: #007700">];<br /> throw new </span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Duplicated ' </span><span style="color: #007700">. </span><span style="color: #0000BB">strtoupper</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'type'</span><span style="color: #007700">]) . </span><span style="color: #DD0000">' field: `' </span><span style="color: #007700">. </span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">name </span><span style="color: #007700">. </span><span style="color: #DD0000">'\' and `' </span><span style="color: #007700">. </span><span style="color: #0000BB">$prev </span><span style="color: #007700">. </span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br /> }<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">type</span><span style="color: #007700">] = </span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">name</span><span style="color: #007700">;<br /> }<br /><br /> </span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">vno </span><span style="color: #007700">= (</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">type </span><span style="color: #007700">== </span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">) ? </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">MIXED_VNO </span><span style="color: #007700">: </span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">vno</span><span style="color: #007700">] = </span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">name</span><span style="color: #007700">;<br /><br /> </span><span style="color: #FF8000">// save field, ensure ID is the first field<br /> </span><span style="color: #007700">if (</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">type </span><span style="color: #007700">== </span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">)<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields </span><span style="color: #007700">= </span><span style="color: #0000BB">array_merge</span><span style="color: #007700">(array(</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">name </span><span style="color: #007700">=> </span><span style="color: #0000BB">$field</span><span style="color: #007700">), </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">);<br /> else<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-></span><span style="color: #0000BB">name</span><span style="color: #007700">] = </span><span style="color: #0000BB">$field</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>添加字段到方案中
- 每个方案中的特殊类型字段都不能重复出现</p>
- <div class="detailHeader" id="checkValid-detail">
- checkValid()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public bool <b>checkValid</b>(bool $throw=false)</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$throw</td>
- <td class="paramTypeCol">bool</td>
- <td class="paramDescCol">当没有通过检测时是否抛出异常, 默认为 false</td>
- </tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">bool</td>
- <td class="paramDescCol">有效返回 true, 无效则返回 false</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L174">sdk/php/lib/XSFieldScheme.class.php#L174</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">checkValid</span><span style="color: #007700">(</span><span style="color: #0000BB">$throw </span><span style="color: #007700">= </span><span style="color: #0000BB">false</span><span style="color: #007700">)<br />{<br /> if (!isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">]))<br /> {<br /> if (</span><span style="color: #0000BB">$throw</span><span style="color: #007700">)<br /> throw new </span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Missing field of type ID'</span><span style="color: #007700">);<br /> return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /> }<br /> return </span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>判断该字段方案是否有效、可用
- 每个方案必须并且只能包含一个类型为 ID 的字段</p>
- <div class="detailHeader" id="getAllFields-detail">
- getAllFields()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public XSFieldMeta[] <b>getAllFields</b>()</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">XSFieldMeta[]</td>
- <td class="paramDescCol"></td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L117">sdk/php/lib/XSFieldScheme.class.php#L117</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">getAllFields</span><span style="color: #007700">()<br />{<br /> return </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>获取项目所有字段结构设置</p>
- <div class="detailHeader" id="getField-detail">
- getField()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getField</b>(mixed $name, bool $throw=true)</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$name</td>
- <td class="paramTypeCol">mixed</td>
- <td class="paramDescCol">字段名称(string) 或字段序号(vno, int)</td>
- </tr>
- <tr>
- <td class="paramNameCol">$throw</td>
- <td class="paramTypeCol">bool</td>
- <td class="paramDescCol">当字段不存在时是否抛出异常, 默认为 true</td>
- </tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
- <td class="paramDescCol">字段元数据对象, 若不存在则返回 false</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L92">sdk/php/lib/XSFieldScheme.class.php#L92</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">getField</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">, </span><span style="color: #0000BB">$throw </span><span style="color: #007700">= </span><span style="color: #0000BB">true</span><span style="color: #007700">)<br />{<br /> if (</span><span style="color: #0000BB">is_int</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">))<br /> {<br /> if (!isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">]))<br /> {<br /> if (</span><span style="color: #0000BB">$throw </span><span style="color: #007700">=== </span><span style="color: #0000BB">true</span><span style="color: #007700">)<br /> throw new </span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Not exists field with vno: `' </span><span style="color: #007700">. </span><span style="color: #0000BB">$name </span><span style="color: #007700">. </span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br /> return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /> }<br /> </span><span style="color: #0000BB">$name </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br /> }<br /> if (!isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">]))<br /> {<br /> if (</span><span style="color: #0000BB">$throw </span><span style="color: #007700">=== </span><span style="color: #0000BB">true</span><span style="color: #007700">)<br /> throw new </span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Not exists field with name: `' </span><span style="color: #007700">. </span><span style="color: #0000BB">$name </span><span style="color: #007700">. </span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br /> return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /> }<br /> return </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br />}</span>
- </span>
- </code></div>
- </div>
- <p>获取项目字段元数据</p>
- <div class="detailHeader" id="getFieldBody-detail">
- getFieldBody()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldBody</b>()</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
- <td class="paramDescCol">类型为 BODY 的字段</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L75">sdk/php/lib/XSFieldScheme.class.php#L75</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">getFieldBody</span><span style="color: #007700">()<br />{<br /> if (isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">]))<br /> {<br /> </span><span style="color: #0000BB">$name </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">];<br /> return </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br /> }<br /> return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>获取内容字段元数据</p>
- <div class="detailHeader" id="getFieldId-detail">
- getFieldId()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldId</b>()</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
- <td class="paramDescCol">类型为 ID 的字段</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L47">sdk/php/lib/XSFieldScheme.class.php#L47</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">getFieldId</span><span style="color: #007700">()<br />{<br /> if (isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">]))<br /> {<br /> </span><span style="color: #0000BB">$name </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">];<br /> return </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br /> }<br /> return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>获取主键字段元数据</p>
- <div class="detailHeader" id="getFieldTitle-detail">
- getFieldTitle()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldTitle</b>()</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
- <td class="paramDescCol">类型为 TITLE 的字段</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L61">sdk/php/lib/XSFieldScheme.class.php#L61</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">getFieldTitle</span><span style="color: #007700">()<br />{<br /> if (isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE</span><span style="color: #007700">]))<br /> {<br /> </span><span style="color: #0000BB">$name </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE</span><span style="color: #007700">];<br /> return </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br /> }<br /> return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>获取标题字段元数据</p>
- <div class="detailHeader" id="getIterator-detail">
- getIterator()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public void <b>getIterator</b>()</div>
- </td></tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L188">sdk/php/lib/XSFieldScheme.class.php#L188</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">getIterator</span><span style="color: #007700">()<br />{<br /> return new </span><span style="color: #0000BB">ArrayIterator</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_fields</span><span style="color: #007700">);<br />}</span>
- </span>
- </code></div>
- </div>
- <p>IteratorAggregate 接口, 以支持 foreach 遍历访问所有字段</p>
- <div class="detailHeader" id="getVnoMap-detail">
- getVnoMap()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public array <b>getVnoMap</b>()</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">array</td>
- <td class="paramDescCol">vno为键, 字段名为值的数组</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L126">sdk/php/lib/XSFieldScheme.class.php#L126</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public function </span><span style="color: #0000BB">getVnoMap</span><span style="color: #007700">()<br />{<br /> return </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>获取所有字段的vno与名称映映射关系</p>
- <div class="detailHeader" id="logger-detail">
- logger()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public static XSFieldScheme <b>logger</b>()</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">XSFieldScheme</td>
- <td class="paramDescCol">搜索日志字段方案</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L197">sdk/php/lib/XSFieldScheme.class.php#L197</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public static function </span><span style="color: #0000BB">logger</span><span style="color: #007700">()<br />{<br /> if (</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_logger </span><span style="color: #007700">=== </span><span style="color: #0000BB">null</span><span style="color: #007700">)<br /> {<br /> </span><span style="color: #0000BB">$scheme </span><span style="color: #007700">= new </span><span style="color: #0000BB">self</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'id'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'type' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'id'</span><span style="color: #007700">));<br /> </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'pinyin'</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'partial'</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'total'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'type' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'numeric'</span><span style="color: #007700">, </span><span style="color: #DD0000">'index' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'self'</span><span style="color: #007700">));<br /> </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'lastnum'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'type' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'numeric'</span><span style="color: #007700">, </span><span style="color: #DD0000">'index' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'self'</span><span style="color: #007700">));<br /> </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'currnum'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'type' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'numeric'</span><span style="color: #007700">, </span><span style="color: #DD0000">'index' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'self'</span><span style="color: #007700">));<br /> </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'currtag'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'type' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'string'</span><span style="color: #007700">));<br /> </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'body'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'type' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'body'</span><span style="color: #007700">));<br /> </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_logger </span><span style="color: #007700">= </span><span style="color: #0000BB">$scheme</span><span style="color: #007700">;<br /> }<br /> return </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_logger</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>获取搜索日志的字段方案</p>
- </div><!-- end of content -->
- <div id="apiFooter">
- Copyright © 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
- All Rights Reserved.<br/>
- </div><!-- end of footer -->
- <script type="text/javascript">
- /*<![CDATA[*/
- $("a.toggle").toggle(function(){
- $(this).text($(this).text().replace(/Hide/,'Show'));
- $(this).parents(".summary").find(".inherited").hide();
- },function(){
- $(this).text($(this).text().replace(/Show/,'Hide'));
- $(this).parents(".summary").find(".inherited").show();
- });
- $(".sourceCode a.show").toggle(function(){
- $(this).text($(this).text().replace(/show/,'hide'));
- $(this).parents(".sourceCode").find("div.code").show();
- },function(){
- $(this).text($(this).text().replace(/hide/,'show'));
- $(this).parents(".sourceCode").find("div.code").hide();
- });
- $("a.sourceLink").click(function(){
- $(this).attr('target','_blank');
- });
- /*]]>*/
- </script>
- </div><!-- end of page -->
- </body>
- </html>
|