XSSearch.html 166 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718
  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>XSSearch</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>XSSearch</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 XSSearch &raquo;
  35. <a href="XSServer.html">XSServer</a> &raquo;
  36. <a href="XSComponent.html">XSComponent</a></td>
  37. </tr>
  38. <tr>
  39. <th>版本</th>
  40. <td>1.0.0</td>
  41. </tr>
  42. <tr>
  43. <th>源代码</th>
  44. <td><a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php">sdk/php/lib/XSSearch.class.php</a></td>
  45. </tr>
  46. </table>
  47. <div id="classDescription">
  48. XS 搜索类, 执行搜索功能
  49. 有部分方法支持串接操作
  50. <pre>
  51. $xs-&gt;search-&gt;setQuery($str)-&gt;setLimit(10, 10)-&gt;search();
  52. $xs-&gt;close();
  53. </pre></div>
  54. <a name="properties"></a>
  55. <div class="summary docProperty">
  56. <h2>Public 属性</h2>
  57. <p><a href="#" class="toggle">隐去继承来的属性</a></p>
  58. <table class="summaryTable">
  59. <colgroup>
  60. <col class="col-property" />
  61. <col class="col-type" />
  62. <col class="col-description" />
  63. <col class="col-defined" />
  64. </colgroup>
  65. <tr>
  66. <th>名称</th><th>类型</th><th>描述</th><th>定义于</th>
  67. </tr>
  68. <tr id="allSynonyms">
  69. <td><a href="XSSearch.html#allSynonyms-detail">allSynonyms</a></td>
  70. <td>array</td>
  71. <td>获取当前库内的全部同义词列表</td>
  72. <td>XSSearch</td>
  73. </tr>
  74. <tr id="correctedQuery">
  75. <td><a href="XSSearch.html#correctedQuery-detail">correctedQuery</a></td>
  76. <td>array</td>
  77. <td>获取修正后的搜索词列表</td>
  78. <td>XSSearch</td>
  79. </tr>
  80. <tr id="dbTotal">
  81. <td><a href="XSSearch.html#dbTotal-detail">dbTotal</a></td>
  82. <td>int</td>
  83. <td>获取搜索数据库内的数据总量</td>
  84. <td>XSSearch</td>
  85. </tr>
  86. <tr id="facets">
  87. <td><a href="XSSearch.html#facets-detail">facets</a></td>
  88. <td>array</td>
  89. <td>读取最近一次分面搜索记数</td>
  90. <td>XSSearch</td>
  91. </tr>
  92. <tr id="hotQuery">
  93. <td><a href="XSSearch.html#hotQuery-detail">hotQuery</a></td>
  94. <td>array</td>
  95. <td>获取热门搜索词列表</td>
  96. <td>XSSearch</td>
  97. </tr>
  98. <tr id="lastCount">
  99. <td><a href="XSSearch.html#lastCount-detail">lastCount</a></td>
  100. <td>int</td>
  101. <td>获取最近那次搜索的匹配总数估值</td>
  102. <td>XSSearch</td>
  103. </tr>
  104. <tr class="inherited" id="project">
  105. <td><a href="XSServer.html#project-detail">project</a></td>
  106. <td>string</td>
  107. <td>获取当前项目名称</td>
  108. <td><a href="XSServer.html">XSServer</a></td>
  109. </tr>
  110. <tr id="query">
  111. <td><a href="XSSearch.html#query-detail">query</a></td>
  112. <td>string</td>
  113. <td>获取解析后的搜索语句</td>
  114. <td>XSSearch</td>
  115. </tr>
  116. <tr id="relatedQuery">
  117. <td><a href="XSSearch.html#relatedQuery-detail">relatedQuery</a></td>
  118. <td>array</td>
  119. <td>获取相关搜索词列表</td>
  120. <td>XSSearch</td>
  121. </tr>
  122. <tr class="inherited" id="respond">
  123. <td><a href="XSServer.html#respond-detail">respond</a></td>
  124. <td><a href="XSCommand.html">XSCommand</a></td>
  125. <td>从服务器读取响应指令</td>
  126. <td><a href="XSServer.html">XSServer</a></td>
  127. </tr>
  128. <tr class="inherited" id="socket">
  129. <td><a href="XSServer.html#socket-detail">socket</a></td>
  130. <td>mixed</td>
  131. <td>获取连接资源描述符</td>
  132. <td><a href="XSServer.html">XSServer</a></td>
  133. </tr>
  134. <tr class="inherited" id="xs">
  135. <td><a href="XSServer.html#xs-detail">xs</a></td>
  136. <td><a href="XS.html">XS</a></td>
  137. <td>服务端关联的 XS 对象</td>
  138. <td><a href="XSServer.html">XSServer</a></td>
  139. </tr>
  140. </table>
  141. </div>
  142. <a name="methods"></a>
  143. <div class="summary docMethod">
  144. <h2>Public 方法</h2>
  145. <p><a href="#" class="toggle">隐去继承来的方法</a></p>
  146. <table class="summaryTable">
  147. <colgroup>
  148. <col class="col-method" />
  149. <col class="col-description" />
  150. <col class="col-defined" />
  151. </colgroup>
  152. <tr>
  153. <th>名称</th><th>描述</th><th>定义于</th>
  154. </tr>
  155. <tr class="inherited" id="__construct">
  156. <td><a href="XSServer.html#__construct-detail">__construct()</a></td>
  157. <td>构造函数, 打开连接</td>
  158. <td><a href="XSServer.html">XSServer</a></td>
  159. </tr>
  160. <tr class="inherited" id="__destruct">
  161. <td><a href="XSServer.html#__destruct-detail">__destruct()</a></td>
  162. <td>析构函数, 关闭连接</td>
  163. <td><a href="XSServer.html">XSServer</a></td>
  164. </tr>
  165. <tr class="inherited" id="__get">
  166. <td><a href="XSComponent.html#__get-detail">__get()</a></td>
  167. <td>魔术方法 __get</td>
  168. <td><a href="XSComponent.html">XSComponent</a></td>
  169. </tr>
  170. <tr class="inherited" id="__isset">
  171. <td><a href="XSComponent.html#__isset-detail">__isset()</a></td>
  172. <td>魔术方法 __isset</td>
  173. <td><a href="XSComponent.html">XSComponent</a></td>
  174. </tr>
  175. <tr class="inherited" id="__set">
  176. <td><a href="XSComponent.html#__set-detail">__set()</a></td>
  177. <td>魔术方法 __set</td>
  178. <td><a href="XSComponent.html">XSComponent</a></td>
  179. </tr>
  180. <tr class="inherited" id="__unset">
  181. <td><a href="XSComponent.html#__unset-detail">__unset()</a></td>
  182. <td>魔术方法 __unset</td>
  183. <td><a href="XSComponent.html">XSComponent</a></td>
  184. </tr>
  185. <tr id="addDb">
  186. <td><a href="XSSearch.html#addDb-detail">addDb()</a></td>
  187. <td>添加搜索的数据库名, 支持多库同时搜索</td>
  188. <td>XSSearch</td>
  189. </tr>
  190. <tr id="addQueryTerm">
  191. <td><a href="XSSearch.html#addQueryTerm-detail">addQueryTerm()</a></td>
  192. <td>增加默认搜索词汇</td>
  193. <td>XSSearch</td>
  194. </tr>
  195. <tr id="addRange">
  196. <td><a href="XSSearch.html#addRange-detail">addRange()</a></td>
  197. <td>添加搜索过滤区间或范围</td>
  198. <td>XSSearch</td>
  199. </tr>
  200. <tr id="addSearchLog">
  201. <td><a href="XSSearch.html#addSearchLog-detail">addSearchLog()</a></td>
  202. <td>添加搜索日志关键词到缓冲区里</td>
  203. <td>XSSearch</td>
  204. </tr>
  205. <tr id="addWeight">
  206. <td><a href="XSSearch.html#addWeight-detail">addWeight()</a></td>
  207. <td>添加权重索引词</td>
  208. <td>XSSearch</td>
  209. </tr>
  210. <tr class="inherited" id="close">
  211. <td><a href="XSServer.html#close-detail">close()</a></td>
  212. <td>关闭连接</td>
  213. <td><a href="XSServer.html">XSServer</a></td>
  214. </tr>
  215. <tr id="count">
  216. <td><a href="XSSearch.html#count-detail">count()</a></td>
  217. <td>估算搜索语句的匹配数据量</td>
  218. <td>XSSearch</td>
  219. </tr>
  220. <tr class="inherited" id="execCommand">
  221. <td><a href="XSServer.html#execCommand-detail">execCommand()</a></td>
  222. <td>执行服务端指令并获取返回值</td>
  223. <td><a href="XSServer.html">XSServer</a></td>
  224. </tr>
  225. <tr id="getAllSynonyms">
  226. <td><a href="XSSearch.html#getAllSynonyms-detail">getAllSynonyms()</a></td>
  227. <td>获取当前库内的全部同义词列表</td>
  228. <td>XSSearch</td>
  229. </tr>
  230. <tr id="getCorrectedQuery">
  231. <td><a href="XSSearch.html#getCorrectedQuery-detail">getCorrectedQuery()</a></td>
  232. <td>获取修正后的搜索词列表</td>
  233. <td>XSSearch</td>
  234. </tr>
  235. <tr id="getDbTotal">
  236. <td><a href="XSSearch.html#getDbTotal-detail">getDbTotal()</a></td>
  237. <td>获取搜索数据库内的数据总量</td>
  238. <td>XSSearch</td>
  239. </tr>
  240. <tr id="getExpandedQuery">
  241. <td><a href="XSSearch.html#getExpandedQuery-detail">getExpandedQuery()</a></td>
  242. <td>获取展开的搜索词列表</td>
  243. <td>XSSearch</td>
  244. </tr>
  245. <tr id="getFacets">
  246. <td><a href="XSSearch.html#getFacets-detail">getFacets()</a></td>
  247. <td>读取最近一次分面搜索记数</td>
  248. <td>XSSearch</td>
  249. </tr>
  250. <tr id="getHotQuery">
  251. <td><a href="XSSearch.html#getHotQuery-detail">getHotQuery()</a></td>
  252. <td>获取热门搜索词列表</td>
  253. <td>XSSearch</td>
  254. </tr>
  255. <tr id="getLastCount">
  256. <td><a href="XSSearch.html#getLastCount-detail">getLastCount()</a></td>
  257. <td>获取最近那次搜索的匹配总数估值</td>
  258. <td>XSSearch</td>
  259. </tr>
  260. <tr class="inherited" id="getProject">
  261. <td><a href="XSServer.html#getProject-detail">getProject()</a></td>
  262. <td>获取当前项目名称</td>
  263. <td><a href="XSServer.html">XSServer</a></td>
  264. </tr>
  265. <tr id="getQuery">
  266. <td><a href="XSSearch.html#getQuery-detail">getQuery()</a></td>
  267. <td>获取解析后的搜索语句</td>
  268. <td>XSSearch</td>
  269. </tr>
  270. <tr id="getRelatedQuery">
  271. <td><a href="XSSearch.html#getRelatedQuery-detail">getRelatedQuery()</a></td>
  272. <td>获取相关搜索词列表</td>
  273. <td>XSSearch</td>
  274. </tr>
  275. <tr class="inherited" id="getRespond">
  276. <td><a href="XSServer.html#getRespond-detail">getRespond()</a></td>
  277. <td>从服务器读取响应指令</td>
  278. <td><a href="XSServer.html">XSServer</a></td>
  279. </tr>
  280. <tr class="inherited" id="getSocket">
  281. <td><a href="XSServer.html#getSocket-detail">getSocket()</a></td>
  282. <td>获取连接资源描述符</td>
  283. <td><a href="XSServer.html">XSServer</a></td>
  284. </tr>
  285. <tr class="inherited" id="hasRespond">
  286. <td><a href="XSServer.html#hasRespond-detail">hasRespond()</a></td>
  287. <td>判断服务端是否有可读数据</td>
  288. <td><a href="XSServer.html">XSServer</a></td>
  289. </tr>
  290. <tr id="highlight">
  291. <td><a href="XSSearch.html#highlight-detail">highlight()</a></td>
  292. <td>搜索结果字符串高亮处理</td>
  293. <td>XSSearch</td>
  294. </tr>
  295. <tr id="markResetScheme">
  296. <td><a href="XSSearch.html#markResetScheme-detail">markResetScheme()</a></td>
  297. <td>标记字段方案重置</td>
  298. <td>XSSearch</td>
  299. </tr>
  300. <tr id="open">
  301. <td><a href="XSSearch.html#open-detail">open()</a></td>
  302. <td>连接搜索服务端并初始化</td>
  303. <td>XSSearch</td>
  304. </tr>
  305. <tr class="inherited" id="reopen">
  306. <td><a href="XSServer.html#reopen-detail">reopen()</a></td>
  307. <td>重新打开连接</td>
  308. <td><a href="XSServer.html">XSServer</a></td>
  309. </tr>
  310. <tr id="search">
  311. <td><a href="XSSearch.html#search-detail">search()</a></td>
  312. <td>获取匹配的搜索结果文档</td>
  313. <td>XSSearch</td>
  314. </tr>
  315. <tr class="inherited" id="sendCommand">
  316. <td><a href="XSServer.html#sendCommand-detail">sendCommand()</a></td>
  317. <td>往服务器直接发送指令 (无缓存)</td>
  318. <td><a href="XSServer.html">XSServer</a></td>
  319. </tr>
  320. <tr id="setAutoSynonyms">
  321. <td><a href="XSSearch.html#setAutoSynonyms-detail">setAutoSynonyms()</a></td>
  322. <td>开启自动同义词搜索功能</td>
  323. <td>XSSearch</td>
  324. </tr>
  325. <tr id="setCharset">
  326. <td><a href="XSSearch.html#setCharset-detail">setCharset()</a></td>
  327. <td>设置字符集</td>
  328. <td>XSSearch</td>
  329. </tr>
  330. <tr id="setCollapse">
  331. <td><a href="XSSearch.html#setCollapse-detail">setCollapse()</a></td>
  332. <td>设置折叠搜索结果</td>
  333. <td>XSSearch</td>
  334. </tr>
  335. <tr id="setDb">
  336. <td><a href="XSSearch.html#setDb-detail">setDb()</a></td>
  337. <td>设置要搜索的数据库名</td>
  338. <td>XSSearch</td>
  339. </tr>
  340. <tr id="setFacets">
  341. <td><a href="XSSearch.html#setFacets-detail">setFacets()</a></td>
  342. <td>设置分面搜索记数</td>
  343. <td>XSSearch</td>
  344. </tr>
  345. <tr id="setFuzzy">
  346. <td><a href="XSSearch.html#setFuzzy-detail">setFuzzy()</a></td>
  347. <td>开启模糊搜索</td>
  348. <td>XSSearch</td>
  349. </tr>
  350. <tr id="setLimit">
  351. <td><a href="XSSearch.html#setLimit-detail">setLimit()</a></td>
  352. <td>设置搜索结果的数量和偏移</td>
  353. <td>XSSearch</td>
  354. </tr>
  355. <tr id="setMultiSort">
  356. <td><a href="XSSearch.html#setMultiSort-detail">setMultiSort()</a></td>
  357. <td>设置多字段组合排序方式</td>
  358. <td>XSSearch</td>
  359. </tr>
  360. <tr class="inherited" id="setProject">
  361. <td><a href="XSServer.html#setProject-detail">setProject()</a></td>
  362. <td>设置当前项目</td>
  363. <td><a href="XSServer.html">XSServer</a></td>
  364. </tr>
  365. <tr id="setQuery">
  366. <td><a href="XSSearch.html#setQuery-detail">setQuery()</a></td>
  367. <td>设置默认搜索语句</td>
  368. <td>XSSearch</td>
  369. </tr>
  370. <tr id="setSort">
  371. <td><a href="XSSearch.html#setSort-detail">setSort()</a></td>
  372. <td>设置搜索结果的排序方式</td>
  373. <td>XSSearch</td>
  374. </tr>
  375. <tr class="inherited" id="setTimeout">
  376. <td><a href="XSServer.html#setTimeout-detail">setTimeout()</a></td>
  377. <td>设置服务端超时秒数</td>
  378. <td><a href="XSServer.html">XSServer</a></td>
  379. </tr>
  380. <tr id="terms">
  381. <td><a href="XSSearch.html#terms-detail">terms()</a></td>
  382. <td>获取搜索语句中的高亮词条列表</td>
  383. <td>XSSearch</td>
  384. </tr>
  385. </table>
  386. </div>
  387. <a name="events"></a>
  388. <h2>属性明细</h2>
  389. <div class="detailHeader" id="allSynonyms-detail">
  390. allSynonyms<span class="detailHeaderTag">
  391. 属性
  392. <em>只读</em> (自版本 v1.3.0 起可用)
  393. </span>
  394. </div>
  395. <div class="signature">
  396. public array <a href="XSSearch.html#getAllSynonyms"><b>getAllSynonyms</b></a>(int $limit=0, int $offset=0, bool $stemmed=false)</div>
  397. <p>获取当前库内的全部同义词列表</p>
  398. <div class="detailHeader" id="correctedQuery-detail">
  399. correctedQuery<span class="detailHeaderTag">
  400. 属性
  401. <em>只读</em> </span>
  402. </div>
  403. <div class="signature">
  404. public array <a href="XSSearch.html#getCorrectedQuery"><b>getCorrectedQuery</b></a>(string $query=NULL)</div>
  405. <p>获取修正后的搜索词列表
  406. 通常当某次检索结果数量偏少时, 可以用该函数设计 "你是不是要找: ..." 功能</p>
  407. <div class="detailHeader" id="dbTotal-detail">
  408. dbTotal<span class="detailHeaderTag">
  409. 属性
  410. <em>只读</em> </span>
  411. </div>
  412. <div class="signature">
  413. public int <a href="XSSearch.html#getDbTotal"><b>getDbTotal</b></a>()</div>
  414. <p>获取搜索数据库内的数据总量</p>
  415. <div class="detailHeader" id="facets-detail">
  416. facets<span class="detailHeaderTag">
  417. 属性
  418. (自版本 v1.1.0 起可用)
  419. </span>
  420. </div>
  421. <div class="signature">
  422. public array <a href="XSSearch.html#getFacets"><b>getFacets</b></a>(string $field=NULL)<br/>public XSSearch <a href="XSSearch.html#setFacets"><b>setFacets</b></a>(mixed $field, bool $exact=false)</div>
  423. <p>读取最近一次分面搜索记数
  424. 必须在某一次 <a href="XSSearch.html#search">search</a> 之后调用本函数才有意义</p>
  425. <div class="detailHeader" id="hotQuery-detail">
  426. hotQuery<span class="detailHeaderTag">
  427. 属性
  428. <em>只读</em> </span>
  429. </div>
  430. <div class="signature">
  431. public array <a href="XSSearch.html#getHotQuery"><b>getHotQuery</b></a>(int $limit=6, string $type='total')</div>
  432. <p>获取热门搜索词列表</p>
  433. <div class="detailHeader" id="lastCount-detail">
  434. lastCount<span class="detailHeaderTag">
  435. 属性
  436. <em>只读</em> </span>
  437. </div>
  438. <div class="signature">
  439. public int <a href="XSSearch.html#getLastCount"><b>getLastCount</b></a>()</div>
  440. <p>获取最近那次搜索的匹配总数估值</p>
  441. <div class="SeeAlso">
  442. <h4>参见</h4>
  443. <ul>
  444. <li><a href="XSSearch.html#search">search</a></li>
  445. </ul>
  446. </div>
  447. <div class="detailHeader" id="query-detail">
  448. query<span class="detailHeaderTag">
  449. 属性
  450. </span>
  451. </div>
  452. <div class="signature">
  453. public string <a href="XSSearch.html#getQuery"><b>getQuery</b></a>(string $query=NULL)<br/>public XSSearch <a href="XSSearch.html#setQuery"><b>setQuery</b></a>(string $query)</div>
  454. <p>获取解析后的搜索语句</p>
  455. <div class="detailHeader" id="relatedQuery-detail">
  456. relatedQuery<span class="detailHeaderTag">
  457. 属性
  458. <em>只读</em> </span>
  459. </div>
  460. <div class="signature">
  461. public array <a href="XSSearch.html#getRelatedQuery"><b>getRelatedQuery</b></a>(string $query=NULL, int $limit=6)</div>
  462. <p>获取相关搜索词列表</p>
  463. <h2>方法明细</h2>
  464. <div class="detailHeader" id="addDb-detail">
  465. addDb()
  466. <span class="detailHeaderTag">
  467. 方法
  468. </span>
  469. </div>
  470. <table class="summaryTable">
  471. <tr><td colspan="3">
  472. <div class="signature2">
  473. public XSSearch <b>addDb</b>(string $name)</div>
  474. </td></tr>
  475. <tr>
  476. <td class="paramNameCol">$name</td>
  477. <td class="paramTypeCol">string</td>
  478. <td class="paramDescCol"></td>
  479. </tr>
  480. <tr>
  481. <td class="paramNameCol">{return}</td>
  482. <td class="paramTypeCol">XSSearch</td>
  483. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  484. </tr>
  485. </table>
  486. <div class="sourceCode">
  487. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L364">sdk/php/lib/XSSearch.class.php#L364</a> (<b><a href="#" class="show">显示</a></b>)
  488. <div class="code"><code><span style="color: #000000">
  489. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">addDb</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">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strval</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</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">execCommand</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'cmd'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_ADD_DB</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'buf'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$name</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">_curDbs</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #0000BB">$name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  490. </span>
  491. </code></div>
  492. </div>
  493. <p>添加搜索的数据库名, 支持多库同时搜索</p>
  494. <div class="SeeAlso">
  495. <h4>参见</h4>
  496. <ul>
  497. <li><a href="XSSearch.html#setDb">setDb</a></li>
  498. </ul>
  499. </div>
  500. <div class="detailHeader" id="addQueryTerm-detail">
  501. addQueryTerm()
  502. <span class="detailHeaderTag">
  503. 方法
  504. </span>
  505. </div>
  506. <table class="summaryTable">
  507. <tr><td colspan="3">
  508. <div class="signature2">
  509. public XSSearch <b>addQueryTerm</b>(string $field, string $term, int $addOp=0, float $scale=1)</div>
  510. </td></tr>
  511. <tr>
  512. <td class="paramNameCol">$field</td>
  513. <td class="paramTypeCol">string</td>
  514. <td class="paramDescCol">索引词所属的字段, 若为混合区词汇可设为 null 或 body 型的字段名</td>
  515. </tr>
  516. <tr>
  517. <td class="paramNameCol">$term</td>
  518. <td class="paramTypeCol">string</td>
  519. <td class="paramDescCol">索引词 (强制转为小写)</td>
  520. </tr>
  521. <tr>
  522. <td class="paramNameCol">$addOp</td>
  523. <td class="paramTypeCol">int</td>
  524. <td class="paramDescCol">与旧语句的结合操作符, 如果无旧语句或为空则这此无意义, 支持的操作符有:</td>
  525. </tr>
  526. <tr>
  527. <td class="paramNameCol">$scale</td>
  528. <td class="paramTypeCol">float</td>
  529. <td class="paramDescCol">权重计算缩放比例, 默认为 1表示不缩放, 其它值范围 0.xx ~ 655.35</td>
  530. </tr>
  531. <tr>
  532. <td class="paramNameCol">{return}</td>
  533. <td class="paramTypeCol">XSSearch</td>
  534. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  535. </tr>
  536. </table>
  537. <div class="sourceCode">
  538. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L842">sdk/php/lib/XSSearch.class.php#L842</a> (<b><a href="#" class="show">显示</a></b>)
  539. <div class="code"><code><span style="color: #000000">
  540. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">addQueryTerm</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$term</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$addOp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CMD_QUERY_OP_AND</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$scale&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$term&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">$term</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$term&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$term</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$bscale&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$scale&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$scale&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">pack</span><span style="color: #007700">(</span><span style="color: #DD0000">'n'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$scale&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">))&nbsp;:&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$vno&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$field&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">XSFieldScheme</span><span style="color: #007700">::</span><span style="color: #0000BB">MIXED_VNO&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getField</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">vno</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_QUERY_TERM</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$addOp</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$vno</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$term</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$bscale</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">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  541. </span>
  542. </code></div>
  543. </div>
  544. <p>增加默认搜索词汇</p>
  545. <div class="SeeAlso">
  546. <h4>参见</h4>
  547. <ul>
  548. <li><a href="XSSearch.html#addQueryString">addQueryString</a></li>
  549. </ul>
  550. </div>
  551. <div class="detailHeader" id="addRange-detail">
  552. addRange()
  553. <span class="detailHeaderTag">
  554. 方法
  555. </span>
  556. </div>
  557. <table class="summaryTable">
  558. <tr><td colspan="3">
  559. <div class="signature2">
  560. public XSSearch <b>addRange</b>(string $field, mixed $from, mixed $to)</div>
  561. </td></tr>
  562. <tr>
  563. <td class="paramNameCol">$field</td>
  564. <td class="paramTypeCol">string</td>
  565. <td class="paramDescCol"></td>
  566. </tr>
  567. <tr>
  568. <td class="paramNameCol">$from</td>
  569. <td class="paramTypeCol">mixed</td>
  570. <td class="paramDescCol">起始值(不包含), 若设为 null 则相当于匹配 &lt;= to (字典顺序)</td>
  571. </tr>
  572. <tr>
  573. <td class="paramNameCol">$to</td>
  574. <td class="paramTypeCol">mixed</td>
  575. <td class="paramDescCol">结束值(包含), 若设为 null 则相当于匹配 &gt;= from (字典顺序)</td>
  576. </tr>
  577. <tr>
  578. <td class="paramNameCol">{return}</td>
  579. <td class="paramTypeCol">XSSearch</td>
  580. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  581. </tr>
  582. </table>
  583. <div class="sourceCode">
  584. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L249">sdk/php/lib/XSSearch.class.php#L249</a> (<b><a href="#" class="show">显示</a></b>)
  585. <div class="code"><code><span style="color: #000000">
  586. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">addRange</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$from</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$to</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$from&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">$to&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;if&nbsp;(</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$from</span><span style="color: #007700">)&nbsp;&gt;&nbsp;</span><span style="color: #0000BB">255&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$to</span><span style="color: #007700">)&nbsp;&gt;&nbsp;</span><span style="color: #0000BB">255</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">'Value&nbsp;of&nbsp;range&nbsp;is&nbsp;too&nbsp;long'</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$vno&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getField</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">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$from&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$from</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$to&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$to</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$from&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">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_QUERY_VALCMP</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_QUERY_OP_FILTER</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$vno</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$to</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_VALCMP_LE</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$to&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">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_QUERY_VALCMP</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_QUERY_OP_FILTER</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$vno</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$from</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_VALCMP_GE</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;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_QUERY_RANGE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_QUERY_OP_FILTER</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$vno</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$from</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$to</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">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</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">;<br />}</span>
  587. </span>
  588. </code></div>
  589. </div>
  590. <p>添加搜索过滤区间或范围</p>
  591. <div class="detailHeader" id="addSearchLog-detail">
  592. addSearchLog()
  593. <span class="detailHeaderTag">
  594. 方法
  595. (自版本 v1.1.1 起可用)
  596. </span>
  597. </div>
  598. <table class="summaryTable">
  599. <tr><td colspan="3">
  600. <div class="signature2">
  601. public void <b>addSearchLog</b>(string $query, int $wdf=1)</div>
  602. </td></tr>
  603. <tr>
  604. <td class="paramNameCol">$query</td>
  605. <td class="paramTypeCol">string</td>
  606. <td class="paramDescCol">需要记录的数据</td>
  607. </tr>
  608. <tr>
  609. <td class="paramNameCol">$wdf</td>
  610. <td class="paramTypeCol">int</td>
  611. <td class="paramDescCol">需要记录的次数, 默认为 1</td>
  612. </tr>
  613. </table>
  614. <div class="sourceCode">
  615. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L713">sdk/php/lib/XSSearch.class.php#L713</a> (<b><a href="#" class="show">显示</a></b>)
  616. <div class="code"><code><span style="color: #000000">
  617. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">addSearchLog</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$wdf&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'cmd'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_ADD_LOG</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'buf'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$wdf&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">[</span><span style="color: #DD0000">'buf1'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">pack</span><span style="color: #007700">(</span><span style="color: #DD0000">'i'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$wdf</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">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_LOGGED</span><span style="color: #007700">);<br />}</span>
  618. </span>
  619. </code></div>
  620. </div>
  621. <p>添加搜索日志关键词到缓冲区里
  622. 需要调用 <a href="XSIndex.html#flushLogging">XSIndex::flushLogging</a> 才能确保立即刷新, 否则要隔一段时间</p>
  623. <div class="detailHeader" id="addWeight-detail">
  624. addWeight()
  625. <span class="detailHeaderTag">
  626. 方法
  627. </span>
  628. </div>
  629. <table class="summaryTable">
  630. <tr><td colspan="3">
  631. <div class="signature2">
  632. public XSSearch <b>addWeight</b>(string $field, string $term, float $weight=1)</div>
  633. </td></tr>
  634. <tr>
  635. <td class="paramNameCol">$field</td>
  636. <td class="paramTypeCol">string</td>
  637. <td class="paramDescCol">索引词所属的字段</td>
  638. </tr>
  639. <tr>
  640. <td class="paramNameCol">$term</td>
  641. <td class="paramTypeCol">string</td>
  642. <td class="paramDescCol">索引词</td>
  643. </tr>
  644. <tr>
  645. <td class="paramNameCol">$weight</td>
  646. <td class="paramTypeCol">float</td>
  647. <td class="paramDescCol">权重计算缩放比例</td>
  648. </tr>
  649. <tr>
  650. <td class="paramNameCol">{return}</td>
  651. <td class="paramTypeCol">XSSearch</td>
  652. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  653. </tr>
  654. </table>
  655. <div class="sourceCode">
  656. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L279">sdk/php/lib/XSSearch.class.php#L279</a> (<b><a href="#" class="show">显示</a></b>)
  657. <div class="code"><code><span style="color: #000000">
  658. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">addWeight</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$term</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$weight&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</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">addQueryTerm</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$term</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_QUERY_OP_AND_MAYBE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$weight</span><span style="color: #007700">);<br />}</span>
  659. </span>
  660. </code></div>
  661. </div>
  662. <p>添加权重索引词
  663. 无论是否包含这种词都不影响搜索匹配, 但会参与计算结果权重, 使结果的相关度更高</p>
  664. <div class="SeeAlso">
  665. <h4>参见</h4>
  666. <ul>
  667. <li><a href="XSSearch.html#addQueryTerm">addQueryTerm</a></li>
  668. </ul>
  669. </div>
  670. <div class="detailHeader" id="count-detail">
  671. count()
  672. <span class="detailHeaderTag">
  673. 方法
  674. </span>
  675. </div>
  676. <table class="summaryTable">
  677. <tr><td colspan="3">
  678. <div class="signature2">
  679. public int <b>count</b>(string $query=NULL)</div>
  680. </td></tr>
  681. <tr>
  682. <td class="paramNameCol">$query</td>
  683. <td class="paramTypeCol">string</td>
  684. <td class="paramDescCol">搜索语句, 若传入 null 使用默认语句, 调用后会还原默认排序方式
  685. 如果搜索语句和最近一次 <a href="XSSearch.html#search">search</a> 的语句一样, 请改用 <a href="XSSearch.html#getLastCount">getLastCount</a> 以提升效率
  686. 最大长度为 80 字节</td>
  687. </tr>
  688. <tr>
  689. <td class="paramNameCol">{return}</td>
  690. <td class="paramTypeCol">int</td>
  691. <td class="paramDescCol">匹配的搜索结果数量, 估算数值</td>
  692. </tr>
  693. </table>
  694. <div class="sourceCode">
  695. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L419">sdk/php/lib/XSSearch.class.php#L419</a> (<b><a href="#" class="show">显示</a></b>)
  696. <div class="code"><code><span style="color: #000000">
  697. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">preQueryString</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_count&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;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_count</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_SEARCH_GET_TOTAL</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_defaultOp</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_SEARCH_TOTAL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">unpack</span><span style="color: #007700">(</span><span style="color: #DD0000">'Icount'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$query&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;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_count&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">[</span><span style="color: #DD0000">'count'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">[</span><span style="color: #DD0000">'count'</span><span style="color: #007700">];<br />}</span>
  698. </span>
  699. </code></div>
  700. </div>
  701. <p>估算搜索语句的匹配数据量</p>
  702. <div class="detailHeader" id="getAllSynonyms-detail">
  703. getAllSynonyms()
  704. <span class="detailHeaderTag">
  705. 方法
  706. (自版本 v1.3.0 起可用)
  707. </span>
  708. </div>
  709. <table class="summaryTable">
  710. <tr><td colspan="3">
  711. <div class="signature2">
  712. public array <b>getAllSynonyms</b>(int $limit=0, int $offset=0, bool $stemmed=false)</div>
  713. </td></tr>
  714. <tr>
  715. <td class="paramNameCol">$limit</td>
  716. <td class="paramTypeCol">int</td>
  717. <td class="paramDescCol">数量上限, 若设为 0 则启用默认值 100 个</td>
  718. </tr>
  719. <tr>
  720. <td class="paramNameCol">$offset</td>
  721. <td class="paramTypeCol">int</td>
  722. <td class="paramDescCol">偏移量, 即跳过的结果数量, 默认为 0</td>
  723. </tr>
  724. <tr>
  725. <td class="paramNameCol">$stemmed</td>
  726. <td class="paramTypeCol">bool</td>
  727. <td class="paramDescCol">是否包含处理过的词根同义词, 默认为 false 表示否</td>
  728. </tr>
  729. <tr>
  730. <td class="paramNameCol">{return}</td>
  731. <td class="paramTypeCol">array</td>
  732. <td class="paramDescCol">同义词记录数组, 每个词条为键, 同义词条组成的数组为值</td>
  733. </tr>
  734. </table>
  735. <div class="sourceCode">
  736. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L113">sdk/php/lib/XSSearch.class.php#L113</a> (<b><a href="#" class="show">显示</a></b>)
  737. <div class="code"><code><span style="color: #000000">
  738. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getAllSynonyms</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$offset&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$stemmed&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$page&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">pack</span><span style="color: #007700">(</span><span style="color: #DD0000">'II'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$offset</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit</span><span style="color: #007700">))&nbsp;:&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'cmd'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_GET_SYNONYMS</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'buf1'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$page</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">[</span><span style="color: #DD0000">'arg1'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$stemmed&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_RESULT_SYNONYMS</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!empty(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</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">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">)&nbsp;as&nbsp;</span><span style="color: #0000BB">$line</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">$value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"\t"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$key&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_shift</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">[</span><span style="color: #0000BB">$key</span><span style="color: #007700">]&nbsp;=&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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />}</span>
  739. </span>
  740. </code></div>
  741. </div>
  742. <p>获取当前库内的全部同义词列表</p>
  743. <div class="detailHeader" id="getCorrectedQuery-detail">
  744. getCorrectedQuery()
  745. <span class="detailHeaderTag">
  746. 方法
  747. </span>
  748. </div>
  749. <table class="summaryTable">
  750. <tr><td colspan="3">
  751. <div class="signature2">
  752. public array <b>getCorrectedQuery</b>(string $query=NULL)</div>
  753. </td></tr>
  754. <tr>
  755. <td class="paramNameCol">$query</td>
  756. <td class="paramTypeCol">string</td>
  757. <td class="paramDescCol">需要展开的前缀, 可为拼音、英文、中文</td>
  758. </tr>
  759. <tr>
  760. <td class="paramNameCol">{return}</td>
  761. <td class="paramTypeCol">array</td>
  762. <td class="paramDescCol">返回搜索词组成的数组</td>
  763. </tr>
  764. </table>
  765. <div class="sourceCode">
  766. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L677">sdk/php/lib/XSSearch.class.php#L677</a> (<b><a href="#" class="show">显示</a></b>)
  767. <div class="code"><code><span style="color: #000000">
  768. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getCorrectedQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;array();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;try<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$query&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;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&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">_count&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_count&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">ceil</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getDbTotal</span><span style="color: #007700">()&nbsp;*&nbsp;</span><span style="color: #0000BB">0.001</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cleanFieldQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(empty(</span><span style="color: #0000BB">$query</span><span style="color: #007700">)&nbsp;||&nbsp;</span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">':'</span><span style="color: #007700">)&nbsp;!==&nbsp;</span><span style="color: #0000BB">false</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">$ret</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$buf&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'cmd'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">CMD_QUERY_GET_CORRECTED</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'buf'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$buf</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_QUERY_CORRECTED</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf&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;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">XSException&nbsp;$e</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">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCode</span><span style="color: #007700">()&nbsp;!=&nbsp;</span><span style="color: #0000BB">CMD_ERR_XAPIAN</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">$e</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />}</span>
  769. </span>
  770. </code></div>
  771. </div>
  772. <p>获取修正后的搜索词列表
  773. 通常当某次检索结果数量偏少时, 可以用该函数设计 "你是不是要找: ..." 功能</p>
  774. <div class="detailHeader" id="getDbTotal-detail">
  775. getDbTotal()
  776. <span class="detailHeaderTag">
  777. 方法
  778. </span>
  779. </div>
  780. <table class="summaryTable">
  781. <tr><td colspan="3">
  782. <div class="signature2">
  783. public int <b>getDbTotal</b>()</div>
  784. </td></tr>
  785. <tr>
  786. <td class="paramNameCol">{return}</td>
  787. <td class="paramTypeCol">int</td>
  788. <td class="paramDescCol">数据总量</td>
  789. </tr>
  790. </table>
  791. <div class="sourceCode">
  792. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L532">sdk/php/lib/XSSearch.class.php#L532</a> (<b><a href="#" class="show">显示</a></b>)
  793. <div class="code"><code><span style="color: #000000">
  794. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getDbTotal</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_SEARCH_DB_TOTAL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_DB_TOTAL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tmp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">unpack</span><span style="color: #007700">(</span><span style="color: #DD0000">'Itotal'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$tmp</span><span style="color: #007700">[</span><span style="color: #DD0000">'total'</span><span style="color: #007700">];<br />}</span>
  795. </span>
  796. </code></div>
  797. </div>
  798. <p>获取搜索数据库内的数据总量</p>
  799. <div class="detailHeader" id="getExpandedQuery-detail">
  800. getExpandedQuery()
  801. <span class="detailHeaderTag">
  802. 方法
  803. </span>
  804. </div>
  805. <table class="summaryTable">
  806. <tr><td colspan="3">
  807. <div class="signature2">
  808. public array <b>getExpandedQuery</b>(string $query, int $limit=10)</div>
  809. </td></tr>
  810. <tr>
  811. <td class="paramNameCol">$query</td>
  812. <td class="paramTypeCol">string</td>
  813. <td class="paramDescCol">需要展开的前缀, 可为拼音、英文、中文</td>
  814. </tr>
  815. <tr>
  816. <td class="paramNameCol">$limit</td>
  817. <td class="paramTypeCol">int</td>
  818. <td class="paramDescCol">需要返回的搜索词数量上限, 默认为 10, 最大值为 20</td>
  819. </tr>
  820. <tr>
  821. <td class="paramNameCol">{return}</td>
  822. <td class="paramTypeCol">array</td>
  823. <td class="paramDescCol">返回搜索词组成的数组</td>
  824. </tr>
  825. </table>
  826. <div class="sourceCode">
  827. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L629">sdk/php/lib/XSSearch.class.php#L629</a> (<b><a href="#" class="show">显示</a></b>)
  828. <div class="code"><code><span style="color: #000000">
  829. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getExpandedQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">max</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit</span><span style="color: #007700">)));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;try<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$buf&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'cmd'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">CMD_QUERY_GET_EXPANDED</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'arg1'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$limit</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'buf'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$buf</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_RESULT_BEGIN</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;echo&nbsp;"Raw&nbsp;Query:&nbsp;"&nbsp;.&nbsp;$res-&gt;buf&nbsp;.&nbsp;"\n";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;get&nbsp;result&nbsp;documents&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">while&nbsp;(</span><span style="color: #0000BB">true</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">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getRespond</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_RESULT_FIELD</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CMD_OK&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">arg&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CMD_OK_RESULT_END</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;got&nbsp;the&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;echo&nbsp;"Parsed&nbsp;Query:&nbsp;"&nbsp;.&nbsp;$res-&gt;buf&nbsp;.&nbsp;"\n";&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$msg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'Unexpected&nbsp;respond&nbsp;in&nbsp;search&nbsp;{CMD:'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">',&nbsp;ARG:'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">arg&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;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #0000BB">$msg</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">XSException&nbsp;$e</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">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCode</span><span style="color: #007700">()&nbsp;!=&nbsp;</span><span style="color: #0000BB">CMD_ERR_XAPIAN</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">$e</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />}</span>
  830. </span>
  831. </code></div>
  832. </div>
  833. <p>获取展开的搜索词列表</p>
  834. <div class="detailHeader" id="getFacets-detail">
  835. getFacets()
  836. <span class="detailHeaderTag">
  837. 方法
  838. (自版本 v1.1.0 起可用)
  839. </span>
  840. </div>
  841. <table class="summaryTable">
  842. <tr><td colspan="3">
  843. <div class="signature2">
  844. public array <b>getFacets</b>(string $field=NULL)</div>
  845. </td></tr>
  846. <tr>
  847. <td class="paramNameCol">$field</td>
  848. <td class="paramTypeCol">string</td>
  849. <td class="paramDescCol">读取分面记数的字段, 若为 null 则返回全部分面搜索记录</td>
  850. </tr>
  851. <tr>
  852. <td class="paramNameCol">{return}</td>
  853. <td class="paramTypeCol">array</td>
  854. <td class="paramDescCol">返回由值和计数组成的关联数组, 若不存在或未曾登记过则返回空数组</td>
  855. </tr>
  856. </table>
  857. <div class="sourceCode">
  858. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L319">sdk/php/lib/XSSearch.class.php#L319</a> (<b><a href="#" class="show">显示</a></b>)
  859. <div class="code"><code><span style="color: #000000">
  860. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getFacets</span><span style="color: #007700">(</span><span style="color: #0000BB">$field&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">===&nbsp;</span><span style="color: #0000BB">null</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">_facets</span><span style="color: #007700">;<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">_facets</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">])&nbsp;?&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_facets</span><span style="color: #007700">[</span><span style="color: #0000BB">$field</span><span style="color: #007700">]&nbsp;:&nbsp;array();<br />}</span>
  861. </span>
  862. </code></div>
  863. </div>
  864. <p>读取最近一次分面搜索记数
  865. 必须在某一次 <a href="XSSearch.html#search">search</a> 之后调用本函数才有意义</p>
  866. <div class="detailHeader" id="getHotQuery-detail">
  867. getHotQuery()
  868. <span class="detailHeaderTag">
  869. 方法
  870. </span>
  871. </div>
  872. <table class="summaryTable">
  873. <tr><td colspan="3">
  874. <div class="signature2">
  875. public array <b>getHotQuery</b>(int $limit=6, string $type='total')</div>
  876. </td></tr>
  877. <tr>
  878. <td class="paramNameCol">$limit</td>
  879. <td class="paramTypeCol">int</td>
  880. <td class="paramDescCol">需要返回的热门搜索数量上限, 默认为 6, 最大值为 50</td>
  881. </tr>
  882. <tr>
  883. <td class="paramNameCol">$type</td>
  884. <td class="paramTypeCol">string</td>
  885. <td class="paramDescCol">排序类型, 默认为 total(搜索总量), 可选值还有 lastnum(上周), currnum(本周)</td>
  886. </tr>
  887. <tr>
  888. <td class="paramNameCol">{return}</td>
  889. <td class="paramTypeCol">array</td>
  890. <td class="paramDescCol">返回以搜索词为键, 搜索指数为值的关联数组</td>
  891. </tr>
  892. </table>
  893. <div class="sourceCode">
  894. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L546">sdk/php/lib/XSSearch.class.php#L546</a> (<b><a href="#" class="show">显示</a></b>)
  895. <div class="code"><code><span style="color: #000000">
  896. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getHotQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'total'</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">max</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit</span><span style="color: #007700">)));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;query&nbsp;from&nbsp;log_db<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setScheme</span><span style="color: #007700">(</span><span style="color: #0000BB">XSFieldScheme</span><span style="color: #007700">::</span><span style="color: #0000BB">logger</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;try<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">setDb</span><span style="color: #007700">(</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">LOG_DB</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">setLimit</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$type&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #DD0000">'lastnum'&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$type&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #DD0000">'currnum'</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'total'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">search</span><span style="color: #007700">(</span><span style="color: #0000BB">$type&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">':1'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$doc</span><span style="color: #007700">)&nbsp;</span><span style="color: #FF8000">/*&nbsp;@var&nbsp;$doc&nbsp;XSDocument&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$body&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$doc</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">body</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">[</span><span style="color: #0000BB">$body</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$doc</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">f</span><span style="color: #007700">(</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;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">restoreDb</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">XSException&nbsp;$e</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">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCode</span><span style="color: #007700">()&nbsp;!=&nbsp;</span><span style="color: #0000BB">CMD_ERR_XAPIAN</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">$e</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">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">restoreScheme</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />}</span>
  897. </span>
  898. </code></div>
  899. </div>
  900. <p>获取热门搜索词列表</p>
  901. <div class="detailHeader" id="getLastCount-detail">
  902. getLastCount()
  903. <span class="detailHeaderTag">
  904. 方法
  905. </span>
  906. </div>
  907. <table class="summaryTable">
  908. <tr><td colspan="3">
  909. <div class="signature2">
  910. public int <b>getLastCount</b>()</div>
  911. </td></tr>
  912. <tr>
  913. <td class="paramNameCol">{return}</td>
  914. <td class="paramTypeCol">int</td>
  915. <td class="paramDescCol">匹配数据量, 如从未搜索则返回 false</td>
  916. </tr>
  917. </table>
  918. <div class="sourceCode">
  919. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L523">sdk/php/lib/XSSearch.class.php#L523</a> (<b><a href="#" class="show">显示</a></b>)
  920. <div class="code"><code><span style="color: #000000">
  921. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getLastCount</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">_lastCount</span><span style="color: #007700">;<br />}</span>
  922. </span>
  923. </code></div>
  924. </div>
  925. <p>获取最近那次搜索的匹配总数估值</p>
  926. <div class="SeeAlso">
  927. <h4>参见</h4>
  928. <ul>
  929. <li><a href="XSSearch.html#search">search</a></li>
  930. </ul>
  931. </div>
  932. <div class="detailHeader" id="getQuery-detail">
  933. getQuery()
  934. <span class="detailHeaderTag">
  935. 方法
  936. </span>
  937. </div>
  938. <table class="summaryTable">
  939. <tr><td colspan="3">
  940. <div class="signature2">
  941. public string <b>getQuery</b>(string $query=NULL)</div>
  942. </td></tr>
  943. <tr>
  944. <td class="paramNameCol">$query</td>
  945. <td class="paramTypeCol">string</td>
  946. <td class="paramDescCol">搜索语句, 若传入 null 使用默认语句</td>
  947. </tr>
  948. <tr>
  949. <td class="paramNameCol">{return}</td>
  950. <td class="paramTypeCol">string</td>
  951. <td class="paramDescCol">返回解析后的搜索语句</td>
  952. </tr>
  953. </table>
  954. <div class="sourceCode">
  955. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L137">sdk/php/lib/XSSearch.class.php#L137</a> (<b><a href="#" class="show">显示</a></b>)
  956. <div class="code"><code><span style="color: #000000">
  957. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">preQueryString</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_QUERY_GET_STRING</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_defaultOp</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_QUERY_STRING</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">);<br />}</span>
  958. </span>
  959. </code></div>
  960. </div>
  961. <p>获取解析后的搜索语句</p>
  962. <div class="detailHeader" id="getRelatedQuery-detail">
  963. getRelatedQuery()
  964. <span class="detailHeaderTag">
  965. 方法
  966. </span>
  967. </div>
  968. <table class="summaryTable">
  969. <tr><td colspan="3">
  970. <div class="signature2">
  971. public array <b>getRelatedQuery</b>(string $query=NULL, int $limit=6)</div>
  972. </td></tr>
  973. <tr>
  974. <td class="paramNameCol">$query</td>
  975. <td class="paramTypeCol">string</td>
  976. <td class="paramDescCol">搜索语句, 若传入 null 使用默认语句</td>
  977. </tr>
  978. <tr>
  979. <td class="paramNameCol">$limit</td>
  980. <td class="paramTypeCol">int</td>
  981. <td class="paramDescCol">需要返回的相关搜索数量上限, 默认为 6, 最大值为 20</td>
  982. </tr>
  983. <tr>
  984. <td class="paramNameCol">{return}</td>
  985. <td class="paramTypeCol">array</td>
  986. <td class="paramDescCol">返回搜索词组成的数组</td>
  987. </tr>
  988. </table>
  989. <div class="sourceCode">
  990. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L582">sdk/php/lib/XSSearch.class.php#L582</a> (<b><a href="#" class="show">显示</a></b>)
  991. <div class="code"><code><span style="color: #000000">
  992. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getRelatedQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">max</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit</span><span style="color: #007700">)));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Simple&nbsp;to&nbsp;disable&nbsp;query&nbsp;with&nbsp;field&nbsp;filter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$query&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">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cleanFieldQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_query</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(empty(</span><span style="color: #0000BB">$query</span><span style="color: #007700">)&nbsp;||&nbsp;</span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">':'</span><span style="color: #007700">)&nbsp;!==&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Search&nbsp;the&nbsp;log&nbsp;database<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$op&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_defaultOp</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">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setScheme</span><span style="color: #007700">(</span><span style="color: #0000BB">XSFieldScheme</span><span style="color: #007700">::</span><span style="color: #0000BB">logger</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;try<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setDb</span><span style="color: #007700">(</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">LOG_DB</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">setFuzzy</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">setLimit</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">search</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$doc</span><span style="color: #007700">)&nbsp;</span><span style="color: #FF8000">/*&nbsp;@var&nbsp;$doc&nbsp;XSDocument&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$doc</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">_charset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$body&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$doc</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">body</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">strcasecmp</span><span style="color: #007700">(</span><span style="color: #0000BB">$body</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$query</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #0000BB">$body</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$ret</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">$limit</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">XSException&nbsp;$e</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">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCode</span><span style="color: #007700">()&nbsp;!=&nbsp;</span><span style="color: #0000BB">CMD_ERR_XAPIAN</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">$e</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">restoreDb</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">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">restoreScheme</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">_defaultOp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$op</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />}</span>
  993. </span>
  994. </code></div>
  995. </div>
  996. <p>获取相关搜索词列表</p>
  997. <div class="detailHeader" id="highlight-detail">
  998. highlight()
  999. <span class="detailHeaderTag">
  1000. 方法
  1001. </span>
  1002. </div>
  1003. <table class="summaryTable">
  1004. <tr><td colspan="3">
  1005. <div class="signature2">
  1006. public string <b>highlight</b>(string $value)</div>
  1007. </td></tr>
  1008. <tr>
  1009. <td class="paramNameCol">$value</td>
  1010. <td class="paramTypeCol">string</td>
  1011. <td class="paramDescCol">需要处理的数据</td>
  1012. </tr>
  1013. <tr>
  1014. <td class="paramNameCol">{return}</td>
  1015. <td class="paramTypeCol">string</td>
  1016. <td class="paramDescCol">高亮后的数据</td>
  1017. </tr>
  1018. </table>
  1019. <div class="sourceCode">
  1020. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L727">sdk/php/lib/XSSearch.class.php#L727</a> (<b><a href="#" class="show">显示</a></b>)
  1021. <div class="code"><code><span style="color: #000000">
  1022. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">highlight</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;return&nbsp;empty&nbsp;value&nbsp;directly<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(empty(</span><span style="color: #0000BB">$value</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$value</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;initlize&nbsp;the&nbsp;highlight&nbsp;replacements<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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_highlight</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">initHighlight</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;process&nbsp;replace<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(isset(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_highlight</span><span style="color: #007700">[</span><span style="color: #DD0000">'pattern'</span><span style="color: #007700">]))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_highlight</span><span style="color: #007700">[</span><span style="color: #DD0000">'pattern'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_highlight</span><span style="color: #007700">[</span><span style="color: #DD0000">'replace'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">$value</span><span style="color: #007700">);<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">_highlight</span><span style="color: #007700">[</span><span style="color: #DD0000">'pairs'</span><span style="color: #007700">]))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #0000BB">array_keys</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_highlight</span><span style="color: #007700">[</span><span style="color: #DD0000">'pairs'</span><span style="color: #007700">]),&nbsp;</span><span style="color: #0000BB">array_values</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_highlight</span><span style="color: #007700">[</span><span style="color: #DD0000">'pairs'</span><span style="color: #007700">]),&nbsp;</span><span style="color: #0000BB">$value</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$value</span><span style="color: #007700">;<br />}</span>
  1023. </span>
  1024. </code></div>
  1025. </div>
  1026. <p>搜索结果字符串高亮处理
  1027. 对搜索结果文档的字段进行高亮、飘红处理, 高亮部分加上 em 标记</p>
  1028. <div class="detailHeader" id="markResetScheme-detail">
  1029. markResetScheme()
  1030. <span class="detailHeaderTag">
  1031. 方法
  1032. </span>
  1033. </div>
  1034. <table class="summaryTable">
  1035. <tr><td colspan="3">
  1036. <div class="signature2">
  1037. public void <b>markResetScheme</b>()</div>
  1038. </td></tr>
  1039. </table>
  1040. <div class="sourceCode">
  1041. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L376">sdk/php/lib/XSSearch.class.php#L376</a> (<b><a href="#" class="show">显示</a></b>)
  1042. <div class="code"><code><span style="color: #000000">
  1043. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">markResetScheme</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">_resetScheme&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />}</span>
  1044. </span>
  1045. </code></div>
  1046. </div>
  1047. <p>标记字段方案重置</p>
  1048. <div class="SeeAlso">
  1049. <h4>参见</h4>
  1050. <ul>
  1051. <li><a href="XS.html#setScheme">XS::setScheme</a></li>
  1052. </ul>
  1053. </div>
  1054. <div class="detailHeader" id="open-detail">
  1055. open()
  1056. <span class="detailHeaderTag">
  1057. 方法
  1058. </span>
  1059. </div>
  1060. <table class="summaryTable">
  1061. <tr><td colspan="3">
  1062. <div class="signature2">
  1063. public void <b>open</b>(string $conn)</div>
  1064. </td></tr>
  1065. <tr>
  1066. <td class="paramNameCol">$conn</td>
  1067. <td class="paramTypeCol">string</td>
  1068. <td class="paramDescCol"></td>
  1069. </tr>
  1070. </table>
  1071. <div class="sourceCode">
  1072. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L55">sdk/php/lib/XSSearch.class.php#L55</a> (<b><a href="#" class="show">显示</a></b>)
  1073. <div class="code"><code><span style="color: #000000">
  1074. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">open</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">parent</span><span style="color: #007700">::</span><span style="color: #0000BB">open</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</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">_prefix&nbsp;</span><span style="color: #007700">=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_fieldSet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</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">_lastCount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  1075. </span>
  1076. </code></div>
  1077. </div>
  1078. <p>连接搜索服务端并初始化
  1079. 每次重新连接后所有的搜索语句相关设置均被还原</p>
  1080. <div class="SeeAlso">
  1081. <h4>参见</h4>
  1082. <ul>
  1083. <li><a href="XSServer.html#open">XSServer::open</a></li>
  1084. </ul>
  1085. </div>
  1086. <div class="detailHeader" id="search-detail">
  1087. search()
  1088. <span class="detailHeaderTag">
  1089. 方法
  1090. </span>
  1091. </div>
  1092. <table class="summaryTable">
  1093. <tr><td colspan="3">
  1094. <div class="signature2">
  1095. public XSDocument[] <b>search</b>(string $query=NULL)</div>
  1096. </td></tr>
  1097. <tr>
  1098. <td class="paramNameCol">$query</td>
  1099. <td class="paramTypeCol">string</td>
  1100. <td class="paramDescCol">搜索语句, 若传入 null 使用默认语句, 最大长度为 80 字节</td>
  1101. </tr>
  1102. <tr>
  1103. <td class="paramNameCol">{return}</td>
  1104. <td class="paramTypeCol">XSDocument[]</td>
  1105. <td class="paramDescCol">匹配的搜索结果文档列表</td>
  1106. </tr>
  1107. </table>
  1108. <div class="sourceCode">
  1109. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L441">sdk/php/lib/XSSearch.class.php#L441</a> (<b><a href="#" class="show">显示</a></b>)
  1110. <div class="code"><code><span style="color: #000000">
  1111. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">search</span><span style="color: #007700">(</span><span style="color: #0000BB">$query&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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_curDb&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">LOG_DB</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">_highlight&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$query</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">preQueryString</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$page&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">pack</span><span style="color: #007700">(</span><span style="color: #DD0000">'II'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_offset</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_limit&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_limit&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">PAGE_SIZE</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;get&nbsp;result&nbsp;header<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_SEARCH_GET_RESULT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_defaultOp</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$query</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$page</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_RESULT_BEGIN</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tmp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">unpack</span><span style="color: #007700">(</span><span style="color: #DD0000">'Icount'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</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">_lastCount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$tmp</span><span style="color: #007700">[</span><span style="color: #DD0000">'count'</span><span style="color: #007700">];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;load&nbsp;vno&nbsp;map&nbsp;to&nbsp;name&nbsp;of&nbsp;fields<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_facets&nbsp;</span><span style="color: #007700">=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$vnoes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getScheme</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">getVnoMap</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;get&nbsp;result&nbsp;documents&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">while&nbsp;(</span><span style="color: #0000BB">true</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getRespond</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_RESULT_FACETS</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">$off&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;((</span><span style="color: #0000BB">$off&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">)&nbsp;&lt;&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tmp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">unpack</span><span style="color: #007700">(</span><span style="color: #DD0000">'Cvno/Cvlen/Inum'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$off</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$vnoes</span><span style="color: #007700">[</span><span style="color: #0000BB">$tmp</span><span style="color: #007700">[</span><span style="color: #DD0000">'vno'</span><span style="color: #007700">]]))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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">$vnoes</span><span style="color: #007700">[</span><span style="color: #0000BB">$tmp</span><span style="color: #007700">[</span><span style="color: #DD0000">'vno'</span><span style="color: #007700">]];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$off&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$tmp</span><span style="color: #007700">[</span><span style="color: #DD0000">'vlen'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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">_facets</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;&nbsp;&nbsp;&nbsp;&nbsp;&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">_facets</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">]&nbsp;=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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">_facets</span><span style="color: #007700">[</span><span style="color: #0000BB">$name</span><span style="color: #007700">][</span><span style="color: #0000BB">$value</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$tmp</span><span style="color: #007700">[</span><span style="color: #DD0000">'num'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$off&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">$tmp</span><span style="color: #007700">[</span><span style="color: #DD0000">'vlen'</span><span style="color: #007700">]&nbsp;+&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_RESULT_DOC</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: #FF8000">//&nbsp;got&nbsp;new&nbsp;doc<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$doc&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSDocument</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #0000BB">$doc</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_RESULT_FIELD</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: #FF8000">//&nbsp;fields&nbsp;of&nbsp;doc<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(isset(</span><span style="color: #0000BB">$doc</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">=&nbsp;isset(</span><span style="color: #0000BB">$vnoes</span><span style="color: #007700">[</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">arg</span><span style="color: #007700">])&nbsp;?&nbsp;</span><span style="color: #0000BB">$vnoes</span><span style="color: #007700">[</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">arg</span><span style="color: #007700">]&nbsp;:&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">arg</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$doc</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setField</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CMD_OK&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">arg&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CMD_OK_RESULT_END</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: #FF8000">//&nbsp;got&nbsp;the&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<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">$msg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'Unexpected&nbsp;respond&nbsp;in&nbsp;search&nbsp;{CMD:'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">',&nbsp;ARG:'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">arg&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;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #0000BB">$msg</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #DD0000">''</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">_count&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_lastCount</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;trigger&nbsp;to&nbsp;logQuery<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">logQuery</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;trigger&nbsp;to&nbsp;initHighlight<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">initHighlight</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">_limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_offset&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />}</span>
  1112. </span>
  1113. </code></div>
  1114. </div>
  1115. <p>获取匹配的搜索结果文档
  1116. 默认提取最匹配的前 self::PAGE_SIZE 个结果
  1117. 如需分页请参见 <a href="XSSearch.html#setLimit">setLimit</a> 设置, 每次调用本函数后都会还原 setLimit 的设置</p>
  1118. <div class="detailHeader" id="setAutoSynonyms-detail">
  1119. setAutoSynonyms()
  1120. <span class="detailHeaderTag">
  1121. 方法
  1122. (自版本 v1.3.0 起可用)
  1123. </span>
  1124. </div>
  1125. <table class="summaryTable">
  1126. <tr><td colspan="3">
  1127. <div class="signature2">
  1128. public XSSearch <b>setAutoSynonyms</b>(bool $value=true)</div>
  1129. </td></tr>
  1130. <tr>
  1131. <td class="paramNameCol">$value</td>
  1132. <td class="paramTypeCol">bool</td>
  1133. <td class="paramDescCol">设为 true 表示开启同义词功能, 设为 false 关闭同义词功能</td>
  1134. </tr>
  1135. <tr>
  1136. <td class="paramNameCol">{return}</td>
  1137. <td class="paramTypeCol">XSSearch</td>
  1138. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1139. </tr>
  1140. </table>
  1141. <div class="sourceCode">
  1142. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L95">sdk/php/lib/XSSearch.class.php#L95</a> (<b><a href="#" class="show">显示</a></b>)
  1143. <div class="code"><code><span style="color: #000000">
  1144. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setAutoSynonyms</span><span style="color: #007700">(</span><span style="color: #0000BB">$value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$flag&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CMD_PARSE_FLAG_BOOLEAN&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">CMD_PARSE_FLAG_PHRASE&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">CMD_PARSE_FLAG_LOVEHATE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$value&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;</span><span style="color: #0000BB">$flag&nbsp;</span><span style="color: #007700">|=&nbsp;</span><span style="color: #0000BB">CMD_PARSE_FLAG_AUTO_MULTIWORD_SYNONYMS</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'cmd'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">CMD_QUERY_PARSEFLAG</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'arg'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$flag</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">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  1145. </span>
  1146. </code></div>
  1147. </div>
  1148. <p>开启自动同义词搜索功能</p>
  1149. <div class="detailHeader" id="setCharset-detail">
  1150. setCharset()
  1151. <span class="detailHeaderTag">
  1152. 方法
  1153. </span>
  1154. </div>
  1155. <table class="summaryTable">
  1156. <tr><td colspan="3">
  1157. <div class="signature2">
  1158. public XSSearch <b>setCharset</b>(string $charset)</div>
  1159. </td></tr>
  1160. <tr>
  1161. <td class="paramNameCol">$charset</td>
  1162. <td class="paramTypeCol">string</td>
  1163. <td class="paramDescCol"></td>
  1164. </tr>
  1165. <tr>
  1166. <td class="paramNameCol">{return}</td>
  1167. <td class="paramTypeCol">XSSearch</td>
  1168. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1169. </tr>
  1170. </table>
  1171. <div class="sourceCode">
  1172. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L69">sdk/php/lib/XSSearch.class.php#L69</a> (<b><a href="#" class="show">显示</a></b>)
  1173. <div class="code"><code><span style="color: #000000">
  1174. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setCharset</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">_charset&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strtoupper</span><span style="color: #007700">(</span><span style="color: #0000BB">$charset</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">_charset&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'UTF8'</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">_charset&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  1175. </span>
  1176. </code></div>
  1177. </div>
  1178. <p>设置字符集
  1179. 默认字符集是 UTF-8, 如果您提交的搜索语句和预期得到的搜索结果为其它字符集, 请先设置</p>
  1180. <div class="detailHeader" id="setCollapse-detail">
  1181. setCollapse()
  1182. <span class="detailHeaderTag">
  1183. 方法
  1184. </span>
  1185. </div>
  1186. <table class="summaryTable">
  1187. <tr><td colspan="3">
  1188. <div class="signature2">
  1189. public XSSearch <b>setCollapse</b>(string $field, int $num=1)</div>
  1190. </td></tr>
  1191. <tr>
  1192. <td class="paramNameCol">$field</td>
  1193. <td class="paramTypeCol">string</td>
  1194. <td class="paramDescCol">依据该字段的值折叠搜索结果, 设为 null 则取消折叠</td>
  1195. </tr>
  1196. <tr>
  1197. <td class="paramNameCol">$num</td>
  1198. <td class="paramTypeCol">int</td>
  1199. <td class="paramDescCol">折叠后只是返最匹配的数据数量, 默认为 1, 最大值 255</td>
  1200. </tr>
  1201. <tr>
  1202. <td class="paramNameCol">{return}</td>
  1203. <td class="paramTypeCol">XSSearch</td>
  1204. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1205. </tr>
  1206. </table>
  1207. <div class="sourceCode">
  1208. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L232">sdk/php/lib/XSSearch.class.php#L232</a> (<b><a href="#" class="show">显示</a></b>)
  1209. <div class="code"><code><span style="color: #000000">
  1210. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setCollapse</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$num&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$vno&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$field&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">XSFieldScheme</span><span style="color: #007700">::</span><span style="color: #0000BB">MIXED_VNO&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getField</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">vno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$max&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">(</span><span style="color: #0000BB">255</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$num</span><span style="color: #007700">));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_SEARCH_SET_COLLAPSE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$max</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$vno</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">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  1211. </span>
  1212. </code></div>
  1213. </div>
  1214. <p>设置折叠搜索结果
  1215. 注意, 每当调用 <a href="XSSearch.html#setDb">setDb</a> 或 <a href="XSSearch.html#addDb">addDb</a> 修改当前数据库时会重置此项设置</p>
  1216. <div class="detailHeader" id="setDb-detail">
  1217. setDb()
  1218. <span class="detailHeaderTag">
  1219. 方法
  1220. </span>
  1221. </div>
  1222. <table class="summaryTable">
  1223. <tr><td colspan="3">
  1224. <div class="signature2">
  1225. public XSSearch <b>setDb</b>(string $name)</div>
  1226. </td></tr>
  1227. <tr>
  1228. <td class="paramNameCol">$name</td>
  1229. <td class="paramTypeCol">string</td>
  1230. <td class="paramDescCol"></td>
  1231. </tr>
  1232. <tr>
  1233. <td class="paramNameCol">{return}</td>
  1234. <td class="paramTypeCol">XSSearch</td>
  1235. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1236. </tr>
  1237. </table>
  1238. <div class="sourceCode">
  1239. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L347">sdk/php/lib/XSSearch.class.php#L347</a> (<b><a href="#" class="show">显示</a></b>)
  1240. <div class="code"><code><span style="color: #000000">
  1241. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setDb</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">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strval</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</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">execCommand</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'cmd'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_SET_DB</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'buf'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">strval</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</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">_lastDb&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_curDb</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">_lastDbs&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_curDbs</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">_curDb&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$name</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">_curDbs&nbsp;</span><span style="color: #007700">=&nbsp;array();<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  1242. </span>
  1243. </code></div>
  1244. </div>
  1245. <p>设置要搜索的数据库名
  1246. 若未设置, 使用默认数据库, 数据库必须位于服务端用户目录下
  1247. 对于远程数据库, 请使用 stub 文件来支持</p>
  1248. <div class="detailHeader" id="setFacets-detail">
  1249. setFacets()
  1250. <span class="detailHeaderTag">
  1251. 方法
  1252. (自版本 v1.1.0 起可用)
  1253. </span>
  1254. </div>
  1255. <table class="summaryTable">
  1256. <tr><td colspan="3">
  1257. <div class="signature2">
  1258. public XSSearch <b>setFacets</b>(mixed $field, bool $exact=false)</div>
  1259. </td></tr>
  1260. <tr>
  1261. <td class="paramNameCol">$field</td>
  1262. <td class="paramTypeCol">mixed</td>
  1263. <td class="paramDescCol">要进行分组统计的字段或字段组成的数组, 最多同时支持 8 个</td>
  1264. </tr>
  1265. <tr>
  1266. <td class="paramNameCol">$exact</td>
  1267. <td class="paramTypeCol">bool</td>
  1268. <td class="paramDescCol">是否要求绝对精确搜索, 这会造成较大的系统开销</td>
  1269. </tr>
  1270. <tr>
  1271. <td class="paramNameCol">{return}</td>
  1272. <td class="paramTypeCol">XSSearch</td>
  1273. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1274. </tr>
  1275. </table>
  1276. <div class="sourceCode">
  1277. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L294">sdk/php/lib/XSSearch.class.php#L294</a> (<b><a href="#" class="show">显示</a></b>)
  1278. <div class="code"><code><span style="color: #000000">
  1279. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setFacets</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$exact&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$buf&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</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;array(</span><span style="color: #0000BB">$field</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$field&nbsp;</span><span style="color: #007700">as&nbsp;</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;</span><span style="color: #0000BB">$ff&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</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">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$ff</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_STRING</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">"Field&nbsp;`</span><span style="color: #0000BB">$name</span><span style="color: #DD0000">'&nbsp;cann't&nbsp;be&nbsp;used&nbsp;for&nbsp;facets&nbsp;search,&nbsp;can&nbsp;only&nbsp;be&nbsp;string&nbsp;type"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$buf&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">$ff</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">vno</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'cmd'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">CMD_SEARCH_SET_FACETS</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'buf'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$buf</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">[</span><span style="color: #DD0000">'arg1'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$exact&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">0</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">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  1280. </span>
  1281. </code></div>
  1282. </div>
  1283. <p>设置分面搜索记数
  1284. 用于记录匹配搜索结果中按字段值分组的数量统计, 每次调用 <a href="XSSearch.html#search">search</a> 后会还原设置
  1285. 对于多次调用 $exact 参数以最后一次为准, 只支持字段值不超过 255 字节的情况</p>
  1286. <div class="detailHeader" id="setFuzzy-detail">
  1287. setFuzzy()
  1288. <span class="detailHeaderTag">
  1289. 方法
  1290. </span>
  1291. </div>
  1292. <table class="summaryTable">
  1293. <tr><td colspan="3">
  1294. <div class="signature2">
  1295. public XSSearch <b>setFuzzy</b>(bool $value=true)</div>
  1296. </td></tr>
  1297. <tr>
  1298. <td class="paramNameCol">$value</td>
  1299. <td class="paramTypeCol">bool</td>
  1300. <td class="paramDescCol">设为 true 表示开启模糊搜索, 设为 false 关闭模糊搜索</td>
  1301. </tr>
  1302. <tr>
  1303. <td class="paramNameCol">{return}</td>
  1304. <td class="paramTypeCol">XSSearch</td>
  1305. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1306. </tr>
  1307. </table>
  1308. <div class="sourceCode">
  1309. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L83">sdk/php/lib/XSSearch.class.php#L83</a> (<b><a href="#" class="show">显示</a></b>)
  1310. <div class="code"><code><span style="color: #000000">
  1311. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setFuzzy</span><span style="color: #007700">(</span><span style="color: #0000BB">$value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</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">_defaultOp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$value&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">CMD_QUERY_OP_OR&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">CMD_QUERY_OP_AND</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  1312. </span>
  1313. </code></div>
  1314. </div>
  1315. <p>开启模糊搜索
  1316. 默认情况只返回包含所有搜索词的记录, 通过本方法可以获得更多搜索结果</p>
  1317. <div class="detailHeader" id="setLimit-detail">
  1318. setLimit()
  1319. <span class="detailHeaderTag">
  1320. 方法
  1321. </span>
  1322. </div>
  1323. <table class="summaryTable">
  1324. <tr><td colspan="3">
  1325. <div class="signature2">
  1326. public XSSearch <b>setLimit</b>(int $limit, int $offset=0)</div>
  1327. </td></tr>
  1328. <tr>
  1329. <td class="paramNameCol">$limit</td>
  1330. <td class="paramTypeCol">int</td>
  1331. <td class="paramDescCol">数量上限, 若设为 0 则启用默认值 self::PAGE_SIZE</td>
  1332. </tr>
  1333. <tr>
  1334. <td class="paramNameCol">$offset</td>
  1335. <td class="paramTypeCol">int</td>
  1336. <td class="paramDescCol">偏移量, 即跳过的结果数量, 默认为 0</td>
  1337. </tr>
  1338. <tr>
  1339. <td class="paramNameCol">{return}</td>
  1340. <td class="paramTypeCol">XSSearch</td>
  1341. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1342. </tr>
  1343. </table>
  1344. <div class="sourceCode">
  1345. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L333">sdk/php/lib/XSSearch.class.php#L333</a> (<b><a href="#" class="show">显示</a></b>)
  1346. <div class="code"><code><span style="color: #000000">
  1347. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setLimit</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$offset&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</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">_limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$limit</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">_offset&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$offset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  1348. </span>
  1349. </code></div>
  1350. </div>
  1351. <p>设置搜索结果的数量和偏移
  1352. 用于搜索结果分页, 每次调用 <a href="XSSearch.html#search">search</a> 后会还原这2个变量到初始值</p>
  1353. <div class="detailHeader" id="setMultiSort-detail">
  1354. setMultiSort()
  1355. <span class="detailHeaderTag">
  1356. 方法
  1357. (自版本 v1.1.0 起可用)
  1358. </span>
  1359. </div>
  1360. <table class="summaryTable">
  1361. <tr><td colspan="3">
  1362. <div class="signature2">
  1363. public XSSearch <b>setMultiSort</b>(array $fields)</div>
  1364. </td></tr>
  1365. <tr>
  1366. <td class="paramNameCol">$fields</td>
  1367. <td class="paramTypeCol">array</td>
  1368. <td class="paramDescCol">排序依据的字段数组, 以字段名称为键, true/false 为值表示正序或逆序</td>
  1369. </tr>
  1370. <tr>
  1371. <td class="paramNameCol">{return}</td>
  1372. <td class="paramTypeCol">XSSearch</td>
  1373. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1374. </tr>
  1375. </table>
  1376. <div class="sourceCode">
  1377. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L170">sdk/php/lib/XSSearch.class.php#L170</a> (<b><a href="#" class="show">显示</a></b>)
  1378. <div class="code"><code><span style="color: #000000">
  1379. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setMultiSort</span><span style="color: #007700">(</span><span style="color: #0000BB">$fields</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$fields</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">setSort</span><span style="color: #007700">(</span><span style="color: #0000BB">$fields</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;[vno][0/1]&nbsp;(0:reverse,1:asc)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$buf&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">$fields&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;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">is_bool</span><span style="color: #007700">(</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">$vno&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getField</span><span style="color: #007700">(</span><span style="color: #0000BB">$key</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">vno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$asc&nbsp;</span><span style="color: #007700">=&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;else<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">$vno&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getField</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">vno</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$asc&nbsp;</span><span style="color: #007700">=&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;if&nbsp;(</span><span style="color: #0000BB">$vno&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">XSFieldScheme</span><span style="color: #007700">::</span><span style="color: #0000BB">MIXED_VNO</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$buf&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">$vno</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">$asc&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$buf&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_SEARCH_SET_SORT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_SORT_TYPE_MULTI</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$buf</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">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</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">;<br />}</span>
  1380. </span>
  1381. </code></div>
  1382. </div>
  1383. <p>设置多字段组合排序方式
  1384. 当您需要根据多个字段的值按不同的方式综合排序时, 请使用这项</p>
  1385. <div class="detailHeader" id="setQuery-detail">
  1386. setQuery()
  1387. <span class="detailHeaderTag">
  1388. 方法
  1389. </span>
  1390. </div>
  1391. <table class="summaryTable">
  1392. <tr><td colspan="3">
  1393. <div class="signature2">
  1394. public XSSearch <b>setQuery</b>(string $query)</div>
  1395. </td></tr>
  1396. <tr>
  1397. <td class="paramNameCol">$query</td>
  1398. <td class="paramTypeCol">string</td>
  1399. <td class="paramDescCol">搜索语句, 设为 null 则清空搜索语句, 最大长度为 80 字节</td>
  1400. </tr>
  1401. <tr>
  1402. <td class="paramNameCol">{return}</td>
  1403. <td class="paramTypeCol">XSSearch</td>
  1404. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1405. </tr>
  1406. </table>
  1407. <div class="sourceCode">
  1408. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L152">sdk/php/lib/XSSearch.class.php#L152</a> (<b><a href="#" class="show">显示</a></b>)
  1409. <div class="code"><code><span style="color: #000000">
  1410. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</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">clearQuery</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$query&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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$query</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">addQueryString</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</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">;<br />}</span>
  1411. </span>
  1412. </code></div>
  1413. </div>
  1414. <p>设置默认搜索语句
  1415. 用于不带参数的 <a href="XSSearch.html#count">count</a> 或 <a href="XSSearch.html#search">search</a> 以及 <a href="XSSearch.html#terms">terms</a> 调用
  1416. 可与 <a href="XSSearch.html#addWeight">addWeight</a> 组合运用</p>
  1417. <div class="detailHeader" id="setSort-detail">
  1418. setSort()
  1419. <span class="detailHeaderTag">
  1420. 方法
  1421. </span>
  1422. </div>
  1423. <table class="summaryTable">
  1424. <tr><td colspan="3">
  1425. <div class="signature2">
  1426. public XSSearch <b>setSort</b>(string $field, bool $asc=false)</div>
  1427. </td></tr>
  1428. <tr>
  1429. <td class="paramNameCol">$field</td>
  1430. <td class="paramTypeCol">string</td>
  1431. <td class="paramDescCol">依据指定字段的值排序, 设为 null 则用默认顺序</td>
  1432. </tr>
  1433. <tr>
  1434. <td class="paramNameCol">$asc</td>
  1435. <td class="paramTypeCol">bool</td>
  1436. <td class="paramDescCol">是否为正序排列, 即从小到大, 从少到多, 默认为反序</td>
  1437. </tr>
  1438. <tr>
  1439. <td class="paramNameCol">{return}</td>
  1440. <td class="paramTypeCol">XSSearch</td>
  1441. <td class="paramDescCol">返回对象本身以支持串接操作</td>
  1442. </tr>
  1443. </table>
  1444. <div class="sourceCode">
  1445. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L208">sdk/php/lib/XSSearch.class.php#L208</a> (<b><a href="#" class="show">显示</a></b>)
  1446. <div class="code"><code><span style="color: #000000">
  1447. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">setSort</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$asc&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;(</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</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">setMultiSort</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$field&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">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_SEARCH_SET_SORT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_SORT_TYPE_RELEVANCE</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CMD_SORT_TYPE_VALUE&nbsp;</span><span style="color: #007700">|&nbsp;(</span><span style="color: #0000BB">$asc&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">CMD_SORT_FLAG_ASCENDING&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$vno&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xs</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getField</span><span style="color: #007700">(</span><span style="color: #0000BB">$field</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">vno</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_SEARCH_SET_SORT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$type</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$vno</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">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">;<br />}</span>
  1448. </span>
  1449. </code></div>
  1450. </div>
  1451. <p>设置搜索结果的排序方式
  1452. 注意, 每当调用 <a href="XSSearch.html#setDb">setDb</a> 或 <a href="XSSearch.html#addDb">addDb</a> 修改当前数据库时会重置排序设定
  1453. 此函数第一参数的用法与 <a href="XSSearch.html#setMultiSort">setMultiSort</a> 兼容, 即也可以用该方法实现多字段排序</p>
  1454. <div class="detailHeader" id="terms-detail">
  1455. terms()
  1456. <span class="detailHeaderTag">
  1457. 方法
  1458. </span>
  1459. </div>
  1460. <table class="summaryTable">
  1461. <tr><td colspan="3">
  1462. <div class="signature2">
  1463. public array <b>terms</b>(string $query=NULL, bool $convert=true)</div>
  1464. </td></tr>
  1465. <tr>
  1466. <td class="paramNameCol">$query</td>
  1467. <td class="paramTypeCol">string</td>
  1468. <td class="paramDescCol">搜索语句, 若传入 null 使用默认语句, 最大长度为 80 字节</td>
  1469. </tr>
  1470. <tr>
  1471. <td class="paramNameCol">$convert</td>
  1472. <td class="paramTypeCol">bool</td>
  1473. <td class="paramDescCol">是否进行编码转换, 默认为 true</td>
  1474. </tr>
  1475. <tr>
  1476. <td class="paramNameCol">{return}</td>
  1477. <td class="paramTypeCol">array</td>
  1478. <td class="paramDescCol">可用于高亮显示的词条列表</td>
  1479. </tr>
  1480. </table>
  1481. <div class="sourceCode">
  1482. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSSearch.class.php#L387">sdk/php/lib/XSSearch.class.php#L387</a> (<b><a href="#" class="show">显示</a></b>)
  1483. <div class="code"><code><span style="color: #000000">
  1484. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">terms</span><span style="color: #007700">(</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$convert&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">preQueryString</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$query&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_terms&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">$ret&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_terms</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cmd&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XSCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">CMD_QUERY_GET_TERMS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_defaultOp</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execCommand</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CMD_OK_QUERY_TERMS</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;array();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tmps&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">'&nbsp;'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">buf</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$tmps</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">$i</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">$tmps</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]&nbsp;===&nbsp;</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$tmps</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">],&nbsp;</span><span style="color: #DD0000">':'</span><span style="color: #007700">)&nbsp;!==&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #0000BB">$tmps</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$query&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;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_terms&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$convert&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$ret</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_charset</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">)&nbsp;:&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />}</span>
  1485. </span>
  1486. </code></div>
  1487. </div>
  1488. <p>获取搜索语句中的高亮词条列表</p>
  1489. </div><!-- end of content -->
  1490. <div id="apiFooter">
  1491. Copyright &copy; 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
  1492. All Rights Reserved.<br/>
  1493. </div><!-- end of footer -->
  1494. <script type="text/javascript">
  1495. /*<![CDATA[*/
  1496. $("a.toggle").toggle(function(){
  1497. $(this).text($(this).text().replace(/Hide/,'Show'));
  1498. $(this).parents(".summary").find(".inherited").hide();
  1499. },function(){
  1500. $(this).text($(this).text().replace(/Show/,'Hide'));
  1501. $(this).parents(".summary").find(".inherited").show();
  1502. });
  1503. $(".sourceCode a.show").toggle(function(){
  1504. $(this).text($(this).text().replace(/show/,'hide'));
  1505. $(this).parents(".sourceCode").find("div.code").show();
  1506. },function(){
  1507. $(this).text($(this).text().replace(/hide/,'show'));
  1508. $(this).parents(".sourceCode").find("div.code").hide();
  1509. });
  1510. $("a.sourceLink").click(function(){
  1511. $(this).attr('target','_blank');
  1512. });
  1513. /*]]>*/
  1514. </script>
  1515. </div><!-- end of page -->
  1516. </body>
  1517. </html>