XSFieldScheme.html 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
  5. <meta name="language" content="zh-cn" />
  6. <link rel="stylesheet" type="text/css" href="css/style.css" />
  7. <link rel="stylesheet" type="text/css" href="css/api.css" />
  8. <script type="text/javascript" src="js/jquery.js"></script>
  9. <title>XSFieldScheme</title>
  10. </head>
  11. <body>
  12. <div id="apiPage">
  13. <div id="apiHeader">
  14. <a href="http://www.xunsearch.com" target="_blank">Xunsearch PHP-SDK</a> v1.3.2 API 参考文档
  15. </div><!-- end of header -->
  16. <div id="content" class="api-index">
  17. <h1>XSFieldScheme</h1>
  18. <div id="nav">
  19. <a href="index.html">All Packages</a>
  20. | <a href="#methods">方法(函数)</a>
  21. </div>
  22. <table class="summaryTable docClass">
  23. <colgroup>
  24. <col class="col-name" />
  25. <col class="col-value" />
  26. </colgroup>
  27. <tr>
  28. <th>包</th>
  29. <td><a href="index.html#XS">XS</a></td>
  30. </tr>
  31. <tr>
  32. <th>继承关系</th>
  33. <td>class XSFieldScheme</td>
  34. </tr>
  35. <tr>
  36. <th>实现接口</th>
  37. <td>IteratorAggregate, Traversable</td>
  38. </tr>
  39. <tr>
  40. <th>版本</th>
  41. <td>1.0.0</td>
  42. </tr>
  43. <tr>
  44. <th>源代码</th>
  45. <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>
  46. </tr>
  47. </table>
  48. <div id="classDescription">
  49. XS 数据字段方案
  50. 每个方案包含若干个字段结构对象 <a href="XSFieldMeta.html">XSFieldMeta</a>
  51. 每个方案必须并且只能包含一个类型为 ID 的字段, 支持 foreach 遍历所有字段</div>
  52. <a name="properties"></a>
  53. <a name="methods"></a>
  54. <div class="summary docMethod">
  55. <h2>Public 方法</h2>
  56. <p><a href="#" class="toggle">隐去继承来的方法</a></p>
  57. <table class="summaryTable">
  58. <colgroup>
  59. <col class="col-method" />
  60. <col class="col-description" />
  61. <col class="col-defined" />
  62. </colgroup>
  63. <tr>
  64. <th>名称</th><th>描述</th><th>定义于</th>
  65. </tr>
  66. <tr id="__toString">
  67. <td><a href="XSFieldScheme.html#__toString-detail">__toString()</a></td>
  68. <td>将对象转换为配置文件字符串</td>
  69. <td>XSFieldScheme</td>
  70. </tr>
  71. <tr id="addField">
  72. <td><a href="XSFieldScheme.html#addField-detail">addField()</a></td>
  73. <td>添加字段到方案中</td>
  74. <td>XSFieldScheme</td>
  75. </tr>
  76. <tr id="checkValid">
  77. <td><a href="XSFieldScheme.html#checkValid-detail">checkValid()</a></td>
  78. <td>判断该字段方案是否有效、可用</td>
  79. <td>XSFieldScheme</td>
  80. </tr>
  81. <tr id="getAllFields">
  82. <td><a href="XSFieldScheme.html#getAllFields-detail">getAllFields()</a></td>
  83. <td>获取项目所有字段结构设置</td>
  84. <td>XSFieldScheme</td>
  85. </tr>
  86. <tr id="getField">
  87. <td><a href="XSFieldScheme.html#getField-detail">getField()</a></td>
  88. <td>获取项目字段元数据</td>
  89. <td>XSFieldScheme</td>
  90. </tr>
  91. <tr id="getFieldBody">
  92. <td><a href="XSFieldScheme.html#getFieldBody-detail">getFieldBody()</a></td>
  93. <td>获取内容字段元数据</td>
  94. <td>XSFieldScheme</td>
  95. </tr>
  96. <tr id="getFieldId">
  97. <td><a href="XSFieldScheme.html#getFieldId-detail">getFieldId()</a></td>
  98. <td>获取主键字段元数据</td>
  99. <td>XSFieldScheme</td>
  100. </tr>
  101. <tr id="getFieldTitle">
  102. <td><a href="XSFieldScheme.html#getFieldTitle-detail">getFieldTitle()</a></td>
  103. <td>获取标题字段元数据</td>
  104. <td>XSFieldScheme</td>
  105. </tr>
  106. <tr id="getIterator">
  107. <td><a href="XSFieldScheme.html#getIterator-detail">getIterator()</a></td>
  108. <td>IteratorAggregate 接口, 以支持 foreach 遍历访问所有字段</td>
  109. <td>XSFieldScheme</td>
  110. </tr>
  111. <tr id="getVnoMap">
  112. <td><a href="XSFieldScheme.html#getVnoMap-detail">getVnoMap()</a></td>
  113. <td>获取所有字段的vno与名称映映射关系</td>
  114. <td>XSFieldScheme</td>
  115. </tr>
  116. <tr id="logger">
  117. <td><a href="XSFieldScheme.html#logger-detail">logger()</a></td>
  118. <td>获取搜索日志的字段方案</td>
  119. <td>XSFieldScheme</td>
  120. </tr>
  121. </table>
  122. </div>
  123. <a name="events"></a>
  124. <h2>方法明细</h2>
  125. <div class="detailHeader" id="__toString-detail">
  126. __toString()
  127. <span class="detailHeaderTag">
  128. 方法
  129. </span>
  130. </div>
  131. <table class="summaryTable">
  132. <tr><td colspan="3">
  133. <div class="signature2">
  134. public void <b>__toString</b>()</div>
  135. </td></tr>
  136. </table>
  137. <div class="sourceCode">
  138. <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>)
  139. <div class="code"><code><span style="color: #000000">
  140. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">__toString</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">toConfig</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$str</span><span style="color: #007700">;<br />}</span>
  141. </span>
  142. </code></div>
  143. </div>
  144. <p>将对象转换为配置文件字符串</p>
  145. <div class="detailHeader" id="addField-detail">
  146. addField()
  147. <span class="detailHeaderTag">
  148. 方法
  149. </span>
  150. </div>
  151. <table class="summaryTable">
  152. <tr><td colspan="3">
  153. <div class="signature2">
  154. public void <b>addField</b>(mixed $field, array $config=NULL)</div>
  155. </td></tr>
  156. <tr>
  157. <td class="paramNameCol">$field</td>
  158. <td class="paramTypeCol">mixed</td>
  159. <td class="paramDescCol">若类型为 XSFieldMeta 表示要添加的字段对象,
  160. 若类型为 string 表示字段名称, 连同 $config 参数一起创建字段对象</td>
  161. </tr>
  162. <tr>
  163. <td class="paramNameCol">$config</td>
  164. <td class="paramTypeCol">array</td>
  165. <td class="paramDescCol">当 $field 参数为 string 时作为新建字段的配置内容</td>
  166. </tr>
  167. </table>
  168. <div class="sourceCode">
  169. <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>)
  170. <div class="code"><code><span style="color: #000000">
  171. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$config&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">$field&nbsp;</span><span style="color: #007700">instanceof&nbsp;</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$field&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$config</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">]))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Duplicated&nbsp;field&nbsp;name:&nbsp;`'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isSpeical</span><span style="color: #007700">())<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type</span><span style="color: #007700">]))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$prev&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Duplicated&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</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">])&nbsp;.&nbsp;</span><span style="color: #DD0000">'&nbsp;field:&nbsp;`'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'\'&nbsp;and&nbsp;`'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$prev&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_typeMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vno&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">MIXED_VNO&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vno</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;save&nbsp;field,&nbsp;ensure&nbsp;ID&nbsp;is&nbsp;the&nbsp;first&nbsp;field<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">XSFieldMeta</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_merge</span><span style="color: #007700">(array(</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$field</span><span style="color: #007700">;<br />}</span>
  172. </span>
  173. </code></div>
  174. </div>
  175. <p>添加字段到方案中
  176. 每个方案中的特殊类型字段都不能重复出现</p>
  177. <div class="detailHeader" id="checkValid-detail">
  178. checkValid()
  179. <span class="detailHeaderTag">
  180. 方法
  181. </span>
  182. </div>
  183. <table class="summaryTable">
  184. <tr><td colspan="3">
  185. <div class="signature2">
  186. public bool <b>checkValid</b>(bool $throw=false)</div>
  187. </td></tr>
  188. <tr>
  189. <td class="paramNameCol">$throw</td>
  190. <td class="paramTypeCol">bool</td>
  191. <td class="paramDescCol">当没有通过检测时是否抛出异常, 默认为 false</td>
  192. </tr>
  193. <tr>
  194. <td class="paramNameCol">{return}</td>
  195. <td class="paramTypeCol">bool</td>
  196. <td class="paramDescCol">有效返回 true, 无效则返回 false</td>
  197. </tr>
  198. </table>
  199. <div class="sourceCode">
  200. <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>)
  201. <div class="code"><code><span style="color: #000000">
  202. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">checkValid</span><span style="color: #007700">(</span><span style="color: #0000BB">$throw&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</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 />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$throw</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Missing&nbsp;field&nbsp;of&nbsp;type&nbsp;ID'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />}</span>
  203. </span>
  204. </code></div>
  205. </div>
  206. <p>判断该字段方案是否有效、可用
  207. 每个方案必须并且只能包含一个类型为 ID 的字段</p>
  208. <div class="detailHeader" id="getAllFields-detail">
  209. getAllFields()
  210. <span class="detailHeaderTag">
  211. 方法
  212. </span>
  213. </div>
  214. <table class="summaryTable">
  215. <tr><td colspan="3">
  216. <div class="signature2">
  217. public XSFieldMeta[] <b>getAllFields</b>()</div>
  218. </td></tr>
  219. <tr>
  220. <td class="paramNameCol">{return}</td>
  221. <td class="paramTypeCol">XSFieldMeta[]</td>
  222. <td class="paramDescCol"></td>
  223. </tr>
  224. </table>
  225. <div class="sourceCode">
  226. <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>)
  227. <div class="code"><code><span style="color: #000000">
  228. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getAllFields</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">;<br />}</span>
  229. </span>
  230. </code></div>
  231. </div>
  232. <p>获取项目所有字段结构设置</p>
  233. <div class="detailHeader" id="getField-detail">
  234. getField()
  235. <span class="detailHeaderTag">
  236. 方法
  237. </span>
  238. </div>
  239. <table class="summaryTable">
  240. <tr><td colspan="3">
  241. <div class="signature2">
  242. public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getField</b>(mixed $name, bool $throw=true)</div>
  243. </td></tr>
  244. <tr>
  245. <td class="paramNameCol">$name</td>
  246. <td class="paramTypeCol">mixed</td>
  247. <td class="paramDescCol">字段名称(string) 或字段序号(vno, int)</td>
  248. </tr>
  249. <tr>
  250. <td class="paramNameCol">$throw</td>
  251. <td class="paramTypeCol">bool</td>
  252. <td class="paramDescCol">当字段不存在时是否抛出异常, 默认为 true</td>
  253. </tr>
  254. <tr>
  255. <td class="paramNameCol">{return}</td>
  256. <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  257. <td class="paramDescCol">字段元数据对象, 若不存在则返回 false</td>
  258. </tr>
  259. </table>
  260. <div class="sourceCode">
  261. <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>)
  262. <div class="code"><code><span style="color: #000000">
  263. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getField</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$throw&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">is_int</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">]))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$throw&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Not&nbsp;exists&nbsp;field&nbsp;with&nbsp;vno:&nbsp;`'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">]))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$throw&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Not&nbsp;exists&nbsp;field&nbsp;with&nbsp;name:&nbsp;`'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br />}</span>
  264. </span>
  265. </code></div>
  266. </div>
  267. <p>获取项目字段元数据</p>
  268. <div class="detailHeader" id="getFieldBody-detail">
  269. getFieldBody()
  270. <span class="detailHeaderTag">
  271. 方法
  272. </span>
  273. </div>
  274. <table class="summaryTable">
  275. <tr><td colspan="3">
  276. <div class="signature2">
  277. public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldBody</b>()</div>
  278. </td></tr>
  279. <tr>
  280. <td class="paramNameCol">{return}</td>
  281. <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  282. <td class="paramDescCol">类型为 BODY 的字段</td>
  283. </tr>
  284. </table>
  285. <div class="sourceCode">
  286. <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>)
  287. <div class="code"><code><span style="color: #000000">
  288. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getFieldBody</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</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 />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  289. </span>
  290. </code></div>
  291. </div>
  292. <p>获取内容字段元数据</p>
  293. <div class="detailHeader" id="getFieldId-detail">
  294. getFieldId()
  295. <span class="detailHeaderTag">
  296. 方法
  297. </span>
  298. </div>
  299. <table class="summaryTable">
  300. <tr><td colspan="3">
  301. <div class="signature2">
  302. public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldId</b>()</div>
  303. </td></tr>
  304. <tr>
  305. <td class="paramNameCol">{return}</td>
  306. <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  307. <td class="paramDescCol">类型为 ID 的字段</td>
  308. </tr>
  309. </table>
  310. <div class="sourceCode">
  311. <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>)
  312. <div class="code"><code><span style="color: #000000">
  313. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getFieldId</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</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 />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  314. </span>
  315. </code></div>
  316. </div>
  317. <p>获取主键字段元数据</p>
  318. <div class="detailHeader" id="getFieldTitle-detail">
  319. getFieldTitle()
  320. <span class="detailHeaderTag">
  321. 方法
  322. </span>
  323. </div>
  324. <table class="summaryTable">
  325. <tr><td colspan="3">
  326. <div class="signature2">
  327. public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldTitle</b>()</div>
  328. </td></tr>
  329. <tr>
  330. <td class="paramNameCol">{return}</td>
  331. <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  332. <td class="paramDescCol">类型为 TITLE 的字段</td>
  333. </tr>
  334. </table>
  335. <div class="sourceCode">
  336. <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>)
  337. <div class="code"><code><span style="color: #000000">
  338. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getFieldTitle</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</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 />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  339. </span>
  340. </code></div>
  341. </div>
  342. <p>获取标题字段元数据</p>
  343. <div class="detailHeader" id="getIterator-detail">
  344. getIterator()
  345. <span class="detailHeaderTag">
  346. 方法
  347. </span>
  348. </div>
  349. <table class="summaryTable">
  350. <tr><td colspan="3">
  351. <div class="signature2">
  352. public void <b>getIterator</b>()</div>
  353. </td></tr>
  354. </table>
  355. <div class="sourceCode">
  356. <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>)
  357. <div class="code"><code><span style="color: #000000">
  358. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getIterator</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;</span><span style="color: #0000BB">ArrayIterator</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fields</span><span style="color: #007700">);<br />}</span>
  359. </span>
  360. </code></div>
  361. </div>
  362. <p>IteratorAggregate 接口, 以支持 foreach 遍历访问所有字段</p>
  363. <div class="detailHeader" id="getVnoMap-detail">
  364. getVnoMap()
  365. <span class="detailHeaderTag">
  366. 方法
  367. </span>
  368. </div>
  369. <table class="summaryTable">
  370. <tr><td colspan="3">
  371. <div class="signature2">
  372. public array <b>getVnoMap</b>()</div>
  373. </td></tr>
  374. <tr>
  375. <td class="paramNameCol">{return}</td>
  376. <td class="paramTypeCol">array</td>
  377. <td class="paramDescCol">vno为键, 字段名为值的数组</td>
  378. </tr>
  379. </table>
  380. <div class="sourceCode">
  381. <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>)
  382. <div class="code"><code><span style="color: #000000">
  383. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getVnoMap</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_vnoMap</span><span style="color: #007700">;<br />}</span>
  384. </span>
  385. </code></div>
  386. </div>
  387. <p>获取所有字段的vno与名称映映射关系</p>
  388. <div class="detailHeader" id="logger-detail">
  389. logger()
  390. <span class="detailHeaderTag">
  391. 方法
  392. </span>
  393. </div>
  394. <table class="summaryTable">
  395. <tr><td colspan="3">
  396. <div class="signature2">
  397. public static XSFieldScheme <b>logger</b>()</div>
  398. </td></tr>
  399. <tr>
  400. <td class="paramNameCol">{return}</td>
  401. <td class="paramTypeCol">XSFieldScheme</td>
  402. <td class="paramDescCol">搜索日志字段方案</td>
  403. </tr>
  404. </table>
  405. <div class="sourceCode">
  406. <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>)
  407. <div class="code"><code><span style="color: #000000">
  408. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;static&nbsp;function&nbsp;</span><span style="color: #0000BB">logger</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_logger&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'id'</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">'type'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'id'</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'pinyin'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'partial'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'total'</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">'type'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'numeric'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'index'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'self'</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'lastnum'</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">'type'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'numeric'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'index'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'self'</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'currnum'</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">'type'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'numeric'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'index'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'self'</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'currtag'</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">'type'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'string'</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'body'</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">'type'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'body'</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_logger&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$scheme</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_logger</span><span style="color: #007700">;<br />}</span>
  409. </span>
  410. </code></div>
  411. </div>
  412. <p>获取搜索日志的字段方案</p>
  413. </div><!-- end of content -->
  414. <div id="apiFooter">
  415. Copyright &copy; 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
  416. All Rights Reserved.<br/>
  417. </div><!-- end of footer -->
  418. <script type="text/javascript">
  419. /*<![CDATA[*/
  420. $("a.toggle").toggle(function(){
  421. $(this).text($(this).text().replace(/Hide/,'Show'));
  422. $(this).parents(".summary").find(".inherited").hide();
  423. },function(){
  424. $(this).text($(this).text().replace(/Show/,'Hide'));
  425. $(this).parents(".summary").find(".inherited").show();
  426. });
  427. $(".sourceCode a.show").toggle(function(){
  428. $(this).text($(this).text().replace(/show/,'hide'));
  429. $(this).parents(".sourceCode").find("div.code").show();
  430. },function(){
  431. $(this).text($(this).text().replace(/hide/,'show'));
  432. $(this).parents(".sourceCode").find("div.code").hide();
  433. });
  434. $("a.sourceLink").click(function(){
  435. $(this).attr('target','_blank');
  436. });
  437. /*]]>*/
  438. </script>
  439. </div><!-- end of page -->
  440. </body>
  441. </html>