XS.html 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094
  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>XS</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>XS</h1>
  18. <div id="nav">
  19. <a href="index.html">All Packages</a>
  20. | <a href="#properties">属性</a>
  21. | <a href="#methods">方法(函数)</a>
  22. </div>
  23. <table class="summaryTable docClass">
  24. <colgroup>
  25. <col class="col-name" />
  26. <col class="col-value" />
  27. </colgroup>
  28. <tr>
  29. <th>包</th>
  30. <td><a href="index.html#XS">XS</a></td>
  31. </tr>
  32. <tr>
  33. <th>继承关系</th>
  34. <td>class XS &raquo;
  35. <a href="XSComponent.html">XSComponent</a></td>
  36. </tr>
  37. <tr>
  38. <th>版本</th>
  39. <td>1.0.0</td>
  40. </tr>
  41. <tr>
  42. <th>源代码</th>
  43. <td><a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php">sdk/php/lib/XS.class.php</a></td>
  44. </tr>
  45. </table>
  46. <div id="classDescription">
  47. XS 搜索项目主类</div>
  48. <a name="properties"></a>
  49. <div class="summary docProperty">
  50. <h2>Public 属性</h2>
  51. <p><a href="#" class="toggle">隐去继承来的属性</a></p>
  52. <table class="summaryTable">
  53. <colgroup>
  54. <col class="col-property" />
  55. <col class="col-type" />
  56. <col class="col-description" />
  57. <col class="col-defined" />
  58. </colgroup>
  59. <tr>
  60. <th>名称</th><th>类型</th><th>描述</th><th>定义于</th>
  61. </tr>
  62. <tr id="allFields">
  63. <td><a href="XS.html#allFields-detail">allFields</a></td>
  64. <td>XSFieldMeta[]</td>
  65. <td>获取项目所有字段结构设置</td>
  66. <td>XS</td>
  67. </tr>
  68. <tr id="defaultCharset">
  69. <td><a href="XS.html#defaultCharset-detail">defaultCharset</a></td>
  70. <td>string</td>
  71. <td>获取项目的默认字符集</td>
  72. <td>XS</td>
  73. </tr>
  74. <tr id="fieldBody">
  75. <td><a href="XS.html#fieldBody-detail">fieldBody</a></td>
  76. <td><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  77. <td>获取当前内容字段</td>
  78. <td>XS</td>
  79. </tr>
  80. <tr id="fieldId">
  81. <td><a href="XS.html#fieldId-detail">fieldId</a></td>
  82. <td><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  83. <td>获取当前主键字段</td>
  84. <td>XS</td>
  85. </tr>
  86. <tr id="fieldTitle">
  87. <td><a href="XS.html#fieldTitle-detail">fieldTitle</a></td>
  88. <td><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  89. <td>获取当前标题字段</td>
  90. <td>XS</td>
  91. </tr>
  92. <tr id="index">
  93. <td><a href="XS.html#index-detail">index</a></td>
  94. <td><a href="XSIndex.html">XSIndex</a></td>
  95. <td>获取索引操作对象</td>
  96. <td>XS</td>
  97. </tr>
  98. <tr id="name">
  99. <td><a href="XS.html#name-detail">name</a></td>
  100. <td>string</td>
  101. <td>获取当前项目名称</td>
  102. <td>XS</td>
  103. </tr>
  104. <tr id="scheme">
  105. <td><a href="XS.html#scheme-detail">scheme</a></td>
  106. <td><a href="XSFieldScheme.html">XSFieldScheme</a></td>
  107. <td>获取当前在用的字段方案</td>
  108. <td>XS</td>
  109. </tr>
  110. <tr id="scwsServer">
  111. <td><a href="XS.html#scwsServer-detail">scwsServer</a></td>
  112. <td><a href="XSServer.html">XSServer</a></td>
  113. <td>创建 scws 分词连接</td>
  114. <td>XS</td>
  115. </tr>
  116. <tr id="search">
  117. <td><a href="XS.html#search-detail">search</a></td>
  118. <td><a href="XSSearch.html">XSSearch</a></td>
  119. <td>获取搜索操作对象</td>
  120. <td>XS</td>
  121. </tr>
  122. </table>
  123. </div>
  124. <a name="methods"></a>
  125. <div class="summary docMethod">
  126. <h2>Public 方法</h2>
  127. <p><a href="#" class="toggle">隐去继承来的方法</a></p>
  128. <table class="summaryTable">
  129. <colgroup>
  130. <col class="col-method" />
  131. <col class="col-description" />
  132. <col class="col-defined" />
  133. </colgroup>
  134. <tr>
  135. <th>名称</th><th>描述</th><th>定义于</th>
  136. </tr>
  137. <tr id="__construct">
  138. <td><a href="XS.html#__construct-detail">__construct()</a></td>
  139. <td>构造函数</td>
  140. <td>XS</td>
  141. </tr>
  142. <tr id="__destruct">
  143. <td><a href="XS.html#__destruct-detail">__destruct()</a></td>
  144. <td>析构函数</td>
  145. <td>XS</td>
  146. </tr>
  147. <tr class="inherited" id="__get">
  148. <td><a href="XSComponent.html#__get-detail">__get()</a></td>
  149. <td>魔术方法 __get</td>
  150. <td><a href="XSComponent.html">XSComponent</a></td>
  151. </tr>
  152. <tr class="inherited" id="__isset">
  153. <td><a href="XSComponent.html#__isset-detail">__isset()</a></td>
  154. <td>魔术方法 __isset</td>
  155. <td><a href="XSComponent.html">XSComponent</a></td>
  156. </tr>
  157. <tr class="inherited" id="__set">
  158. <td><a href="XSComponent.html#__set-detail">__set()</a></td>
  159. <td>魔术方法 __set</td>
  160. <td><a href="XSComponent.html">XSComponent</a></td>
  161. </tr>
  162. <tr class="inherited" id="__unset">
  163. <td><a href="XSComponent.html#__unset-detail">__unset()</a></td>
  164. <td>魔术方法 __unset</td>
  165. <td><a href="XSComponent.html">XSComponent</a></td>
  166. </tr>
  167. <tr id="autoload">
  168. <td><a href="XS.html#autoload-detail">autoload()</a></td>
  169. <td>智能加载类库文件</td>
  170. <td>XS</td>
  171. </tr>
  172. <tr id="convert">
  173. <td><a href="XS.html#convert-detail">convert()</a></td>
  174. <td>字符集转换</td>
  175. <td>XS</td>
  176. </tr>
  177. <tr id="getAllFields">
  178. <td><a href="XS.html#getAllFields-detail">getAllFields()</a></td>
  179. <td>获取项目所有字段结构设置</td>
  180. <td>XS</td>
  181. </tr>
  182. <tr id="getDefaultCharset">
  183. <td><a href="XS.html#getDefaultCharset-detail">getDefaultCharset()</a></td>
  184. <td>获取项目的默认字符集</td>
  185. <td>XS</td>
  186. </tr>
  187. <tr id="getField">
  188. <td><a href="XS.html#getField-detail">getField()</a></td>
  189. <td>获取项目字段元数据</td>
  190. <td>XS</td>
  191. </tr>
  192. <tr id="getFieldBody">
  193. <td><a href="XS.html#getFieldBody-detail">getFieldBody()</a></td>
  194. <td>获取当前内容字段</td>
  195. <td>XS</td>
  196. </tr>
  197. <tr id="getFieldId">
  198. <td><a href="XS.html#getFieldId-detail">getFieldId()</a></td>
  199. <td>获取当前主键字段</td>
  200. <td>XS</td>
  201. </tr>
  202. <tr id="getFieldTitle">
  203. <td><a href="XS.html#getFieldTitle-detail">getFieldTitle()</a></td>
  204. <td>获取当前标题字段</td>
  205. <td>XS</td>
  206. </tr>
  207. <tr id="getIndex">
  208. <td><a href="XS.html#getIndex-detail">getIndex()</a></td>
  209. <td>获取索引操作对象</td>
  210. <td>XS</td>
  211. </tr>
  212. <tr id="getLastXS">
  213. <td><a href="XS.html#getLastXS-detail">getLastXS()</a></td>
  214. <td>获取最新的 XS 实例</td>
  215. <td>XS</td>
  216. </tr>
  217. <tr id="getName">
  218. <td><a href="XS.html#getName-detail">getName()</a></td>
  219. <td>获取当前项目名称</td>
  220. <td>XS</td>
  221. </tr>
  222. <tr id="getScheme">
  223. <td><a href="XS.html#getScheme-detail">getScheme()</a></td>
  224. <td>获取当前在用的字段方案</td>
  225. <td>XS</td>
  226. </tr>
  227. <tr id="getScwsServer">
  228. <td><a href="XS.html#getScwsServer-detail">getScwsServer()</a></td>
  229. <td>创建 scws 分词连接</td>
  230. <td>XS</td>
  231. </tr>
  232. <tr id="getSearch">
  233. <td><a href="XS.html#getSearch-detail">getSearch()</a></td>
  234. <td>获取搜索操作对象</td>
  235. <td>XS</td>
  236. </tr>
  237. <tr id="restoreScheme">
  238. <td><a href="XS.html#restoreScheme-detail">restoreScheme()</a></td>
  239. <td>还原字段方案为项目绑定方案</td>
  240. <td>XS</td>
  241. </tr>
  242. <tr id="setDefaultCharset">
  243. <td><a href="XS.html#setDefaultCharset-detail">setDefaultCharset()</a></td>
  244. <td>改变项目的默认字符集</td>
  245. <td>XS</td>
  246. </tr>
  247. <tr id="setName">
  248. <td><a href="XS.html#setName-detail">setName()</a></td>
  249. <td>修改当前项目名称</td>
  250. <td>XS</td>
  251. </tr>
  252. <tr id="setScheme">
  253. <td><a href="XS.html#setScheme-detail">setScheme()</a></td>
  254. <td>设置当前在用的字段方案</td>
  255. <td>XS</td>
  256. </tr>
  257. </table>
  258. </div>
  259. <a name="events"></a>
  260. <h2>属性明细</h2>
  261. <div class="detailHeader" id="allFields-detail">
  262. allFields<span class="detailHeaderTag">
  263. 属性
  264. <em>只读</em> </span>
  265. </div>
  266. <div class="signature">
  267. public XSFieldMeta[] <a href="XS.html#getAllFields"><b>getAllFields</b></a>()</div>
  268. <p>获取项目所有字段结构设置</p>
  269. <div class="detailHeader" id="defaultCharset-detail">
  270. defaultCharset<span class="detailHeaderTag">
  271. 属性
  272. </span>
  273. </div>
  274. <div class="signature">
  275. public string <a href="XS.html#getDefaultCharset"><b>getDefaultCharset</b></a>()<br/>public void <a href="XS.html#setDefaultCharset"><b>setDefaultCharset</b></a>(string $charset)</div>
  276. <p>获取项目的默认字符集</p>
  277. <div class="detailHeader" id="fieldBody-detail">
  278. fieldBody<span class="detailHeaderTag">
  279. 属性
  280. <em>只读</em> </span>
  281. </div>
  282. <div class="signature">
  283. public <a href="XSFieldMeta.html">XSFieldMeta</a> <a href="XS.html#getFieldBody"><b>getFieldBody</b></a>()</div>
  284. <p>获取当前内容字段</p>
  285. <div class="SeeAlso">
  286. <h4>参见</h4>
  287. <ul>
  288. <li><a href="XSFieldScheme.html#getFieldBody">XSFieldScheme::getFieldBody</a></li>
  289. </ul>
  290. </div>
  291. <div class="detailHeader" id="fieldId-detail">
  292. fieldId<span class="detailHeaderTag">
  293. 属性
  294. <em>只读</em> </span>
  295. </div>
  296. <div class="signature">
  297. public <a href="XSFieldMeta.html">XSFieldMeta</a> <a href="XS.html#getFieldId"><b>getFieldId</b></a>()</div>
  298. <p>获取当前主键字段</p>
  299. <div class="SeeAlso">
  300. <h4>参见</h4>
  301. <ul>
  302. <li><a href="XSFieldScheme.html#getFieldId">XSFieldScheme::getFieldId</a></li>
  303. </ul>
  304. </div>
  305. <div class="detailHeader" id="fieldTitle-detail">
  306. fieldTitle<span class="detailHeaderTag">
  307. 属性
  308. <em>只读</em> </span>
  309. </div>
  310. <div class="signature">
  311. public <a href="XSFieldMeta.html">XSFieldMeta</a> <a href="XS.html#getFieldTitle"><b>getFieldTitle</b></a>()</div>
  312. <p>获取当前标题字段</p>
  313. <div class="SeeAlso">
  314. <h4>参见</h4>
  315. <ul>
  316. <li><a href="XSFieldScheme.html#getFieldTitle">XSFieldScheme::getFieldTitle</a></li>
  317. </ul>
  318. </div>
  319. <div class="detailHeader" id="index-detail">
  320. index<span class="detailHeaderTag">
  321. 属性
  322. <em>只读</em> </span>
  323. </div>
  324. <div class="signature">
  325. public <a href="XSIndex.html">XSIndex</a> <a href="XS.html#getIndex"><b>getIndex</b></a>()</div>
  326. <p>获取索引操作对象</p>
  327. <div class="detailHeader" id="name-detail">
  328. name<span class="detailHeaderTag">
  329. 属性
  330. </span>
  331. </div>
  332. <div class="signature">
  333. public string <a href="XS.html#getName"><b>getName</b></a>()<br/>public void <a href="XS.html#setName"><b>setName</b></a>(string $name)</div>
  334. <p>获取当前项目名称</p>
  335. <div class="detailHeader" id="scheme-detail">
  336. scheme<span class="detailHeaderTag">
  337. 属性
  338. </span>
  339. </div>
  340. <div class="signature">
  341. public <a href="XSFieldScheme.html">XSFieldScheme</a> <a href="XS.html#getScheme"><b>getScheme</b></a>()<br/>public void <a href="XS.html#setScheme"><b>setScheme</b></a>(<a href="XSFieldScheme.html">XSFieldScheme</a> $fs)</div>
  342. <p>获取当前在用的字段方案
  343. 通用于搜索结果文档和修改、添加的索引文档</p>
  344. <div class="detailHeader" id="scwsServer-detail">
  345. scwsServer<span class="detailHeaderTag">
  346. 属性
  347. <em>只读</em> </span>
  348. </div>
  349. <div class="signature">
  350. public <a href="XSServer.html">XSServer</a> <a href="XS.html#getScwsServer"><b>getScwsServer</b></a>()</div>
  351. <p>创建 scws 分词连接</p>
  352. <div class="detailHeader" id="search-detail">
  353. search<span class="detailHeaderTag">
  354. 属性
  355. <em>只读</em> </span>
  356. </div>
  357. <div class="signature">
  358. public <a href="XSSearch.html">XSSearch</a> <a href="XS.html#getSearch"><b>getSearch</b></a>()</div>
  359. <p>获取搜索操作对象</p>
  360. <h2>方法明细</h2>
  361. <div class="detailHeader" id="__construct-detail">
  362. __construct()
  363. <span class="detailHeaderTag">
  364. 方法
  365. </span>
  366. </div>
  367. <table class="summaryTable">
  368. <tr><td colspan="3">
  369. <div class="signature2">
  370. public void <b>__construct</b>(string $file)</div>
  371. </td></tr>
  372. <tr>
  373. <td class="paramNameCol">$file</td>
  374. <td class="paramTypeCol">string</td>
  375. <td class="paramDescCol">要加载的项目配置文件</td>
  376. </tr>
  377. </table>
  378. <div class="sourceCode">
  379. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L280">sdk/php/lib/XS.class.php#L280</a> (<b><a href="#" class="show">显示</a></b>)
  380. <div class="code"><code><span style="color: #000000">
  381. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(</span><span style="color: #0000BB">$file</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$file</span><span style="color: #007700">)&nbsp;&lt;&nbsp;</span><span style="color: #0000BB">255&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;!</span><span style="color: #0000BB">is_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$file</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$file2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">XS_LIB_ROOT&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'/../app/'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$file&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'.ini'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">is_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$file2</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$file&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$file2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">loadIniFile</span><span style="color: #007700">(</span><span style="color: #0000BB">$file</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_lastXS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  382. </span>
  383. </code></div>
  384. </div>
  385. <p>构造函数
  386. 特别说明一个小技巧, 参数 $file 可以直接是配置文件的内容, 还可以是仅仅是文件名,
  387. 如果只是文件名会自动查找 XS_LIB_ROOT/../app/$file.ini</p>
  388. <div class="detailHeader" id="__destruct-detail">
  389. __destruct()
  390. <span class="detailHeaderTag">
  391. 方法
  392. </span>
  393. </div>
  394. <table class="summaryTable">
  395. <tr><td colspan="3">
  396. <div class="signature2">
  397. public void <b>__destruct</b>()</div>
  398. </td></tr>
  399. </table>
  400. <div class="sourceCode">
  401. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L296">sdk/php/lib/XS.class.php#L296</a> (<b><a href="#" class="show">显示</a></b>)
  402. <div class="code"><code><span style="color: #000000">
  403. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">__destruct</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_index&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</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">_search&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">;<br />}</span>
  404. </span>
  405. </code></div>
  406. </div>
  407. <p>析构函数
  408. 由于对象交叉引用, 如需提前销毁对象, 请强制调用该函数</p>
  409. <div class="detailHeader" id="autoload-detail">
  410. autoload()
  411. <span class="detailHeaderTag">
  412. 方法
  413. </span>
  414. </div>
  415. <table class="summaryTable">
  416. <tr><td colspan="3">
  417. <div class="signature2">
  418. public static void <b>autoload</b>(string $name)</div>
  419. </td></tr>
  420. <tr>
  421. <td class="paramNameCol">$name</td>
  422. <td class="paramTypeCol">string</td>
  423. <td class="paramDescCol">类的名称</td>
  424. </tr>
  425. </table>
  426. <div class="sourceCode">
  427. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L486">sdk/php/lib/XS.class.php#L486</a> (<b><a href="#" class="show">显示</a></b>)
  428. <div class="code"><code><span style="color: #000000">
  429. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;static&nbsp;function&nbsp;</span><span style="color: #0000BB">autoload</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$file&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">XS_LIB_ROOT&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'/'&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">'.class.php'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">file_exists</span><span style="color: #007700">(</span><span style="color: #0000BB">$file</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require_once&nbsp;</span><span style="color: #0000BB">$file</span><span style="color: #007700">;<br />}</span>
  430. </span>
  431. </code></div>
  432. </div>
  433. <p>智能加载类库文件
  434. 要求以 Name.class.php 命名并与本文件存放在同一目录, 如: XSTokenizerXxx.class.php</p>
  435. <div class="detailHeader" id="convert-detail">
  436. convert()
  437. <span class="detailHeaderTag">
  438. 方法
  439. </span>
  440. </div>
  441. <table class="summaryTable">
  442. <tr><td colspan="3">
  443. <div class="signature2">
  444. public static mixed <b>convert</b>(mixed $data, string $to, string $from)</div>
  445. </td></tr>
  446. <tr>
  447. <td class="paramNameCol">$data</td>
  448. <td class="paramTypeCol">mixed</td>
  449. <td class="paramDescCol">需要转换的数据, 支持 string 和 array, 数组会自动递归转换</td>
  450. </tr>
  451. <tr>
  452. <td class="paramNameCol">$to</td>
  453. <td class="paramTypeCol">string</td>
  454. <td class="paramDescCol">转换后的字符集</td>
  455. </tr>
  456. <tr>
  457. <td class="paramNameCol">$from</td>
  458. <td class="paramTypeCol">string</td>
  459. <td class="paramDescCol">转换前的字符集</td>
  460. </tr>
  461. <tr>
  462. <td class="paramNameCol">{return}</td>
  463. <td class="paramTypeCol">mixed</td>
  464. <td class="paramDescCol">转换后的数据</td>
  465. </tr>
  466. </table>
  467. <div class="sourceCode">
  468. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L502">sdk/php/lib/XS.class.php#L502</a> (<b><a href="#" class="show">显示</a></b>)
  469. <div class="code"><code><span style="color: #000000">
  470. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;static&nbsp;function&nbsp;</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$data</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$to</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$from</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;need&nbsp;not&nbsp;convert<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$to&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">$from</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$data</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;array&nbsp;traverse<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$data</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$data&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$key&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$value</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">$data</span><span style="color: #007700">[</span><span style="color: #0000BB">$key</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$to</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$from</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$data</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;string&nbsp;contain&nbsp;8bit&nbsp;characters<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">is_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$data</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">'/[\x81-\xfe]/'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$data</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;mbstring,&nbsp;iconv,&nbsp;throw&nbsp;...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">function_exists</span><span style="color: #007700">(</span><span style="color: #DD0000">'mb_convert_encoding'</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">mb_convert_encoding</span><span style="color: #007700">(</span><span style="color: #0000BB">$data</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$to</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$from</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">function_exists</span><span style="color: #007700">(</span><span style="color: #DD0000">'iconv'</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">iconv</span><span style="color: #007700">(</span><span style="color: #0000BB">$from</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$to&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'//TRANSLIT'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<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">'Cann\'t&nbsp;find&nbsp;the&nbsp;mbstring&nbsp;or&nbsp;iconv&nbsp;extension&nbsp;to&nbsp;convert&nbsp;encoding'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$data</span><span style="color: #007700">;<br />}</span>
  471. </span>
  472. </code></div>
  473. </div>
  474. <p>字符集转换
  475. 要求安装有 mbstring, iconv 中的一种</p>
  476. <div class="detailHeader" id="getAllFields-detail">
  477. getAllFields()
  478. <span class="detailHeaderTag">
  479. 方法
  480. </span>
  481. </div>
  482. <table class="summaryTable">
  483. <tr><td colspan="3">
  484. <div class="signature2">
  485. public XSFieldMeta[] <b>getAllFields</b>()</div>
  486. </td></tr>
  487. <tr>
  488. <td class="paramNameCol">{return}</td>
  489. <td class="paramTypeCol">XSFieldMeta[]</td>
  490. <td class="paramDescCol"></td>
  491. </tr>
  492. </table>
  493. <div class="sourceCode">
  494. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L476">sdk/php/lib/XS.class.php#L476</a> (<b><a href="#" class="show">显示</a></b>)
  495. <div class="code"><code><span style="color: #000000">
  496. <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">_scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getAllFields</span><span style="color: #007700">();<br />}</span>
  497. </span>
  498. </code></div>
  499. </div>
  500. <p>获取项目所有字段结构设置</p>
  501. <div class="detailHeader" id="getDefaultCharset-detail">
  502. getDefaultCharset()
  503. <span class="detailHeaderTag">
  504. 方法
  505. </span>
  506. </div>
  507. <table class="summaryTable">
  508. <tr><td colspan="3">
  509. <div class="signature2">
  510. public string <b>getDefaultCharset</b>()</div>
  511. </td></tr>
  512. <tr>
  513. <td class="paramNameCol">{return}</td>
  514. <td class="paramTypeCol">string</td>
  515. <td class="paramDescCol">默认字符集(已大写)</td>
  516. </tr>
  517. </table>
  518. <div class="sourceCode">
  519. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L370">sdk/php/lib/XS.class.php#L370</a> (<b><a href="#" class="show">显示</a></b>)
  520. <div class="code"><code><span style="color: #000000">
  521. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getDefaultCharset</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'project.default_charset'</span><span style="color: #007700">])&nbsp;?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">strtoupper</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'project.default_charset'</span><span style="color: #007700">])&nbsp;:&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">;<br />}</span>
  522. </span>
  523. </code></div>
  524. </div>
  525. <p>获取项目的默认字符集</p>
  526. <div class="detailHeader" id="getField-detail">
  527. getField()
  528. <span class="detailHeaderTag">
  529. 方法
  530. </span>
  531. </div>
  532. <table class="summaryTable">
  533. <tr><td colspan="3">
  534. <div class="signature2">
  535. public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getField</b>(mixed $name, bool $throw=true)</div>
  536. </td></tr>
  537. <tr>
  538. <td class="paramNameCol">$name</td>
  539. <td class="paramTypeCol">mixed</td>
  540. <td class="paramDescCol">字段名称(string) 或字段序号(vno, int)</td>
  541. </tr>
  542. <tr>
  543. <td class="paramNameCol">$throw</td>
  544. <td class="paramTypeCol">bool</td>
  545. <td class="paramDescCol">当字段不存在时是否抛出异常, 默认为 true</td>
  546. </tr>
  547. <tr>
  548. <td class="paramNameCol">{return}</td>
  549. <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  550. <td class="paramDescCol">字段元数据对象</td>
  551. </tr>
  552. </table>
  553. <div class="sourceCode">
  554. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L467">sdk/php/lib/XS.class.php#L467</a> (<b><a href="#" class="show">显示</a></b>)
  555. <div class="code"><code><span style="color: #000000">
  556. <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;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_scheme</span><span style="color: #007700">-&gt;</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</span><span style="color: #007700">);<br />}</span>
  557. </span>
  558. </code></div>
  559. </div>
  560. <p>获取项目字段元数据</p>
  561. <div class="SeeAlso">
  562. <h4>参见</h4>
  563. <ul>
  564. <li><a href="XSFieldScheme.html#getField">XSFieldScheme::getField</a></li>
  565. </ul>
  566. </div>
  567. <div class="detailHeader" id="getFieldBody-detail">
  568. getFieldBody()
  569. <span class="detailHeaderTag">
  570. 方法
  571. </span>
  572. </div>
  573. <table class="summaryTable">
  574. <tr><td colspan="3">
  575. <div class="signature2">
  576. public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldBody</b>()</div>
  577. </td></tr>
  578. <tr>
  579. <td class="paramNameCol">{return}</td>
  580. <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  581. <td class="paramDescCol">类型为 BODY 的字段</td>
  582. </tr>
  583. </table>
  584. <div class="sourceCode">
  585. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L454">sdk/php/lib/XS.class.php#L454</a> (<b><a href="#" class="show">显示</a></b>)
  586. <div class="code"><code><span style="color: #000000">
  587. <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;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getFieldBody</span><span style="color: #007700">();<br />}</span>
  588. </span>
  589. </code></div>
  590. </div>
  591. <p>获取当前内容字段</p>
  592. <div class="SeeAlso">
  593. <h4>参见</h4>
  594. <ul>
  595. <li><a href="XSFieldScheme.html#getFieldBody">XSFieldScheme::getFieldBody</a></li>
  596. </ul>
  597. </div>
  598. <div class="detailHeader" id="getFieldId-detail">
  599. getFieldId()
  600. <span class="detailHeaderTag">
  601. 方法
  602. </span>
  603. </div>
  604. <table class="summaryTable">
  605. <tr><td colspan="3">
  606. <div class="signature2">
  607. public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldId</b>()</div>
  608. </td></tr>
  609. <tr>
  610. <td class="paramNameCol">{return}</td>
  611. <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  612. <td class="paramDescCol">类型为 ID 的字段</td>
  613. </tr>
  614. </table>
  615. <div class="sourceCode">
  616. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L434">sdk/php/lib/XS.class.php#L434</a> (<b><a href="#" class="show">显示</a></b>)
  617. <div class="code"><code><span style="color: #000000">
  618. <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;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getFieldId</span><span style="color: #007700">();<br />}</span>
  619. </span>
  620. </code></div>
  621. </div>
  622. <p>获取当前主键字段</p>
  623. <div class="SeeAlso">
  624. <h4>参见</h4>
  625. <ul>
  626. <li><a href="XSFieldScheme.html#getFieldId">XSFieldScheme::getFieldId</a></li>
  627. </ul>
  628. </div>
  629. <div class="detailHeader" id="getFieldTitle-detail">
  630. getFieldTitle()
  631. <span class="detailHeaderTag">
  632. 方法
  633. </span>
  634. </div>
  635. <table class="summaryTable">
  636. <tr><td colspan="3">
  637. <div class="signature2">
  638. public <a href="XSFieldMeta.html">XSFieldMeta</a> <b>getFieldTitle</b>()</div>
  639. </td></tr>
  640. <tr>
  641. <td class="paramNameCol">{return}</td>
  642. <td class="paramTypeCol"><a href="XSFieldMeta.html">XSFieldMeta</a></td>
  643. <td class="paramDescCol">类型为 TITLE 的字段</td>
  644. </tr>
  645. </table>
  646. <div class="sourceCode">
  647. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L444">sdk/php/lib/XS.class.php#L444</a> (<b><a href="#" class="show">显示</a></b>)
  648. <div class="code"><code><span style="color: #000000">
  649. <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;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_scheme</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getFieldTitle</span><span style="color: #007700">();<br />}</span>
  650. </span>
  651. </code></div>
  652. </div>
  653. <p>获取当前标题字段</p>
  654. <div class="SeeAlso">
  655. <h4>参见</h4>
  656. <ul>
  657. <li><a href="XSFieldScheme.html#getFieldTitle">XSFieldScheme::getFieldTitle</a></li>
  658. </ul>
  659. </div>
  660. <div class="detailHeader" id="getIndex-detail">
  661. getIndex()
  662. <span class="detailHeaderTag">
  663. 方法
  664. </span>
  665. </div>
  666. <table class="summaryTable">
  667. <tr><td colspan="3">
  668. <div class="signature2">
  669. public <a href="XSIndex.html">XSIndex</a> <b>getIndex</b>()</div>
  670. </td></tr>
  671. <tr>
  672. <td class="paramNameCol">{return}</td>
  673. <td class="paramTypeCol"><a href="XSIndex.html">XSIndex</a></td>
  674. <td class="paramDescCol">索引操作对象</td>
  675. </tr>
  676. </table>
  677. <div class="sourceCode">
  678. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L389">sdk/php/lib/XS.class.php#L389</a> (<b><a href="#" class="show">显示</a></b>)
  679. <div class="code"><code><span style="color: #000000">
  680. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getIndex</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_index&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">$conn&nbsp;</span><span style="color: #007700">=&nbsp;isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'server.index'</span><span style="color: #007700">])&nbsp;?&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'server.index'</span><span style="color: #007700">]&nbsp;:&nbsp;</span><span style="color: #0000BB">8383</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">_index&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSIndex</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</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">_index</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setTimeout</span><span style="color: #007700">(</span><span style="color: #0000BB">0</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">_index</span><span style="color: #007700">;<br />}</span>
  681. </span>
  682. </code></div>
  683. </div>
  684. <p>获取索引操作对象</p>
  685. <div class="detailHeader" id="getLastXS-detail">
  686. getLastXS()
  687. <span class="detailHeaderTag">
  688. 方法
  689. </span>
  690. </div>
  691. <table class="summaryTable">
  692. <tr><td colspan="3">
  693. <div class="signature2">
  694. public static XS <b>getLastXS</b>()</div>
  695. </td></tr>
  696. <tr>
  697. <td class="paramNameCol">{return}</td>
  698. <td class="paramTypeCol">XS</td>
  699. <td class="paramDescCol">最近创建的 XS 对象</td>
  700. </tr>
  701. </table>
  702. <div class="sourceCode">
  703. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L306">sdk/php/lib/XS.class.php#L306</a> (<b><a href="#" class="show">显示</a></b>)
  704. <div class="code"><code><span style="color: #000000">
  705. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;static&nbsp;function&nbsp;</span><span style="color: #0000BB">getLastXS</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_lastXS</span><span style="color: #007700">;<br />}</span>
  706. </span>
  707. </code></div>
  708. </div>
  709. <p>获取最新的 XS 实例</p>
  710. <div class="detailHeader" id="getName-detail">
  711. getName()
  712. <span class="detailHeaderTag">
  713. 方法
  714. </span>
  715. </div>
  716. <table class="summaryTable">
  717. <tr><td colspan="3">
  718. <div class="signature2">
  719. public string <b>getName</b>()</div>
  720. </td></tr>
  721. <tr>
  722. <td class="paramNameCol">{return}</td>
  723. <td class="paramTypeCol">string</td>
  724. <td class="paramDescCol">当前项目名称</td>
  725. </tr>
  726. </table>
  727. <div class="sourceCode">
  728. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L351">sdk/php/lib/XS.class.php#L351</a> (<b><a href="#" class="show">显示</a></b>)
  729. <div class="code"><code><span style="color: #000000">
  730. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getName</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">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'project.name'</span><span style="color: #007700">];<br />}</span>
  731. </span>
  732. </code></div>
  733. </div>
  734. <p>获取当前项目名称</p>
  735. <div class="detailHeader" id="getScheme-detail">
  736. getScheme()
  737. <span class="detailHeaderTag">
  738. 方法
  739. </span>
  740. </div>
  741. <table class="summaryTable">
  742. <tr><td colspan="3">
  743. <div class="signature2">
  744. public <a href="XSFieldScheme.html">XSFieldScheme</a> <b>getScheme</b>()</div>
  745. </td></tr>
  746. <tr>
  747. <td class="paramNameCol">{return}</td>
  748. <td class="paramTypeCol"><a href="XSFieldScheme.html">XSFieldScheme</a></td>
  749. <td class="paramDescCol">当前字段方案</td>
  750. </tr>
  751. </table>
  752. <div class="sourceCode">
  753. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L316">sdk/php/lib/XS.class.php#L316</a> (<b><a href="#" class="show">显示</a></b>)
  754. <div class="code"><code><span style="color: #000000">
  755. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getScheme</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">_scheme</span><span style="color: #007700">;<br />}</span>
  756. </span>
  757. </code></div>
  758. </div>
  759. <p>获取当前在用的字段方案
  760. 通用于搜索结果文档和修改、添加的索引文档</p>
  761. <div class="detailHeader" id="getScwsServer-detail">
  762. getScwsServer()
  763. <span class="detailHeaderTag">
  764. 方法
  765. </span>
  766. </div>
  767. <table class="summaryTable">
  768. <tr><td colspan="3">
  769. <div class="signature2">
  770. public <a href="XSServer.html">XSServer</a> <b>getScwsServer</b>()</div>
  771. </td></tr>
  772. <tr>
  773. <td class="paramNameCol">{return}</td>
  774. <td class="paramTypeCol"><a href="XSServer.html">XSServer</a></td>
  775. <td class="paramDescCol">分词服务器</td>
  776. </tr>
  777. </table>
  778. <div class="sourceCode">
  779. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L419">sdk/php/lib/XS.class.php#L419</a> (<b><a href="#" class="show">显示</a></b>)
  780. <div class="code"><code><span style="color: #000000">
  781. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getScwsServer</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_scws&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">$conn&nbsp;</span><span style="color: #007700">=&nbsp;isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'server.search'</span><span style="color: #007700">])&nbsp;?&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'server.search'</span><span style="color: #007700">]&nbsp;:&nbsp;</span><span style="color: #0000BB">8384</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">_scws&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSServer</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</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">_scws</span><span style="color: #007700">;<br />}</span>
  782. </span>
  783. </code></div>
  784. </div>
  785. <p>创建 scws 分词连接</p>
  786. <div class="detailHeader" id="getSearch-detail">
  787. getSearch()
  788. <span class="detailHeaderTag">
  789. 方法
  790. </span>
  791. </div>
  792. <table class="summaryTable">
  793. <tr><td colspan="3">
  794. <div class="signature2">
  795. public <a href="XSSearch.html">XSSearch</a> <b>getSearch</b>()</div>
  796. </td></tr>
  797. <tr>
  798. <td class="paramNameCol">{return}</td>
  799. <td class="paramTypeCol"><a href="XSSearch.html">XSSearch</a></td>
  800. <td class="paramDescCol">搜索操作对象</td>
  801. </tr>
  802. </table>
  803. <div class="sourceCode">
  804. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L404">sdk/php/lib/XS.class.php#L404</a> (<b><a href="#" class="show">显示</a></b>)
  805. <div class="code"><code><span style="color: #000000">
  806. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getSearch</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_search&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">$conn&nbsp;</span><span style="color: #007700">=&nbsp;isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'server.search'</span><span style="color: #007700">])&nbsp;?&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'server.search'</span><span style="color: #007700">]&nbsp;:&nbsp;</span><span style="color: #0000BB">8384</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">_search&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSSearch</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</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">_search</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setCharset</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getDefaultCharset</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">_search</span><span style="color: #007700">;<br />}</span>
  807. </span>
  808. </code></div>
  809. </div>
  810. <p>获取搜索操作对象</p>
  811. <div class="detailHeader" id="restoreScheme-detail">
  812. restoreScheme()
  813. <span class="detailHeaderTag">
  814. 方法
  815. </span>
  816. </div>
  817. <table class="summaryTable">
  818. <tr><td colspan="3">
  819. <div class="signature2">
  820. public void <b>restoreScheme</b>()</div>
  821. </td></tr>
  822. </table>
  823. <div class="sourceCode">
  824. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L337">sdk/php/lib/XS.class.php#L337</a> (<b><a href="#" class="show">显示</a></b>)
  825. <div class="code"><code><span style="color: #000000">
  826. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">restoreScheme</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_scheme&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_bindScheme</span><span style="color: #007700">)<br />&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">_scheme&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_bindScheme</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_search&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&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">_search</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">markResetScheme</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span>
  827. </span>
  828. </code></div>
  829. </div>
  830. <p>还原字段方案为项目绑定方案</p>
  831. <div class="detailHeader" id="setDefaultCharset-detail">
  832. setDefaultCharset()
  833. <span class="detailHeaderTag">
  834. 方法
  835. </span>
  836. </div>
  837. <table class="summaryTable">
  838. <tr><td colspan="3">
  839. <div class="signature2">
  840. public void <b>setDefaultCharset</b>(string $charset)</div>
  841. </td></tr>
  842. <tr>
  843. <td class="paramNameCol">$charset</td>
  844. <td class="paramTypeCol">string</td>
  845. <td class="paramDescCol">修改后的字符集</td>
  846. </tr>
  847. </table>
  848. <div class="sourceCode">
  849. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L380">sdk/php/lib/XS.class.php#L380</a> (<b><a href="#" class="show">显示</a></b>)
  850. <div class="code"><code><span style="color: #000000">
  851. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setDefaultCharset</span><span style="color: #007700">(</span><span style="color: #0000BB">$charset</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'project.default_charset'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">strtoupper</span><span style="color: #007700">(</span><span style="color: #0000BB">$charset</span><span style="color: #007700">);<br />}</span>
  852. </span>
  853. </code></div>
  854. </div>
  855. <p>改变项目的默认字符集</p>
  856. <div class="detailHeader" id="setName-detail">
  857. setName()
  858. <span class="detailHeaderTag">
  859. 方法
  860. </span>
  861. </div>
  862. <table class="summaryTable">
  863. <tr><td colspan="3">
  864. <div class="signature2">
  865. public void <b>setName</b>(string $name)</div>
  866. </td></tr>
  867. <tr>
  868. <td class="paramNameCol">$name</td>
  869. <td class="paramTypeCol">string</td>
  870. <td class="paramDescCol">项目名称</td>
  871. </tr>
  872. </table>
  873. <div class="sourceCode">
  874. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L361">sdk/php/lib/XS.class.php#L361</a> (<b><a href="#" class="show">显示</a></b>)
  875. <div class="code"><code><span style="color: #000000">
  876. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setName</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_config</span><span style="color: #007700">[</span><span style="color: #DD0000">'project.name'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$name</span><span style="color: #007700">;<br />}</span>
  877. </span>
  878. </code></div>
  879. </div>
  880. <p>修改当前项目名称
  881. 注意,必须在 <a href="XS.html#getSearch">getSearch</a> 和 <a href="XS.html#getIndex">getIndex</a> 前调用才能起作用</p>
  882. <div class="detailHeader" id="setScheme-detail">
  883. setScheme()
  884. <span class="detailHeaderTag">
  885. 方法
  886. </span>
  887. </div>
  888. <table class="summaryTable">
  889. <tr><td colspan="3">
  890. <div class="signature2">
  891. public void <b>setScheme</b>(<a href="XSFieldScheme.html">XSFieldScheme</a> $fs)</div>
  892. </td></tr>
  893. <tr>
  894. <td class="paramNameCol">$fs</td>
  895. <td class="paramTypeCol"><a href="XSFieldScheme.html">XSFieldScheme</a></td>
  896. <td class="paramDescCol">一个有效的字段方案对象</td>
  897. </tr>
  898. </table>
  899. <div class="sourceCode">
  900. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XS.class.php#L326">sdk/php/lib/XS.class.php#L326</a> (<b><a href="#" class="show">显示</a></b>)
  901. <div class="code"><code><span style="color: #000000">
  902. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setScheme</span><span style="color: #007700">(</span><span style="color: #0000BB">XSFieldScheme&nbsp;$fs</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$fs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">checkValid</span><span style="color: #007700">(</span><span style="color: #0000BB">true</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">_scheme&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$fs</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_search&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">null</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">_search</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">markResetScheme</span><span style="color: #007700">();<br />}</span>
  903. </span>
  904. </code></div>
  905. </div>
  906. <p>设置当前在用的字段方案</p>
  907. </div><!-- end of content -->
  908. <div id="apiFooter">
  909. Copyright &copy; 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
  910. All Rights Reserved.<br/>
  911. </div><!-- end of footer -->
  912. <script type="text/javascript">
  913. /*<![CDATA[*/
  914. $("a.toggle").toggle(function(){
  915. $(this).text($(this).text().replace(/Hide/,'Show'));
  916. $(this).parents(".summary").find(".inherited").hide();
  917. },function(){
  918. $(this).text($(this).text().replace(/Show/,'Hide'));
  919. $(this).parents(".summary").find(".inherited").show();
  920. });
  921. $(".sourceCode a.show").toggle(function(){
  922. $(this).text($(this).text().replace(/show/,'hide'));
  923. $(this).parents(".sourceCode").find("div.code").show();
  924. },function(){
  925. $(this).text($(this).text().replace(/hide/,'show'));
  926. $(this).parents(".sourceCode").find("div.code").hide();
  927. });
  928. $("a.sourceLink").click(function(){
  929. $(this).attr('target','_blank');
  930. });
  931. /*]]>*/
  932. </script>
  933. </div><!-- end of page -->
  934. </body>
  935. </html>