XSFieldMeta.html 66 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729
  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>XSFieldMeta</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>XSFieldMeta</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 XSFieldMeta</td>
  35. </tr>
  36. <tr>
  37. <th>版本</th>
  38. <td>1.0.0</td>
  39. </tr>
  40. <tr>
  41. <th>源代码</th>
  42. <td><a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php">sdk/php/lib/XSFieldScheme.class.php</a></td>
  43. </tr>
  44. </table>
  45. <div id="classDescription">
  46. 数据字段结构元数据
  47. 每个搜索项目包含若干个字段, 字段元数据保存在项目的 ini 配置文件中</div>
  48. <a name="properties"></a>
  49. <div class="summary docProperty">
  50. <h2>Public 属性</h2>
  51. <p><a href="#" class="toggle">隐去继承来的属性</a></p>
  52. <table class="summaryTable">
  53. <colgroup>
  54. <col class="col-property" />
  55. <col class="col-type" />
  56. <col class="col-description" />
  57. <col class="col-defined" />
  58. </colgroup>
  59. <tr>
  60. <th>名称</th><th>类型</th><th>描述</th><th>定义于</th>
  61. </tr>
  62. <tr id="cutlen">
  63. <td><a href="XSFieldMeta.html#cutlen-detail">cutlen</a></td>
  64. <td>int</td>
  65. <td>剪取长度 (单位:字节)
  66. 用于在返回搜索结果自动剪取较长内容的字段, 默认为 0表示不截取, body 型字段默认为 300 字节</td>
  67. <td>XSFieldMeta</td>
  68. </tr>
  69. <tr id="name">
  70. <td><a href="XSFieldMeta.html#name-detail">name</a></td>
  71. <td>string</td>
  72. <td>字段名称
  73. 理论上支持各种可视字符, 推荐字符范围:[0-9A-Za-z-_], 长度控制在 1~32 字节为宜</td>
  74. <td>XSFieldMeta</td>
  75. </tr>
  76. <tr id="type">
  77. <td><a href="XSFieldMeta.html#type-detail">type</a></td>
  78. <td>int</td>
  79. <td>字段类型</td>
  80. <td>XSFieldMeta</td>
  81. </tr>
  82. <tr id="vno">
  83. <td><a href="XSFieldMeta.html#vno-detail">vno</a></td>
  84. <td>int</td>
  85. <td>字段序号
  86. 取值为 0~255, 同一字段方案内不能重复, 由 <a href="XSFieldScheme.html#addField">XSFieldScheme::addField</a> 进行确定</td>
  87. <td>XSFieldMeta</td>
  88. </tr>
  89. <tr id="weight">
  90. <td><a href="XSFieldMeta.html#weight-detail">weight</a></td>
  91. <td>int</td>
  92. <td>混合区检索时的相对权重
  93. 取值范围: 1~63, title 类型的字段默认为 5, 其它字段默认为 1</td>
  94. <td>XSFieldMeta</td>
  95. </tr>
  96. </table>
  97. </div>
  98. <a name="methods"></a>
  99. <div class="summary docMethod">
  100. <h2>Public 方法</h2>
  101. <p><a href="#" class="toggle">隐去继承来的方法</a></p>
  102. <table class="summaryTable">
  103. <colgroup>
  104. <col class="col-method" />
  105. <col class="col-description" />
  106. <col class="col-defined" />
  107. </colgroup>
  108. <tr>
  109. <th>名称</th><th>描述</th><th>定义于</th>
  110. </tr>
  111. <tr id="__construct">
  112. <td><a href="XSFieldMeta.html#__construct-detail">__construct()</a></td>
  113. <td>构造函数</td>
  114. <td>XSFieldMeta</td>
  115. </tr>
  116. <tr id="__toString">
  117. <td><a href="XSFieldMeta.html#__toString-detail">__toString()</a></td>
  118. <td>将对象转换为字符串</td>
  119. <td>XSFieldMeta</td>
  120. </tr>
  121. <tr id="fromConfig">
  122. <td><a href="XSFieldMeta.html#fromConfig-detail">fromConfig()</a></td>
  123. <td>解析字段对象属性</td>
  124. <td>XSFieldMeta</td>
  125. </tr>
  126. <tr id="getCustomTokenizer">
  127. <td><a href="XSFieldMeta.html#getCustomTokenizer-detail">getCustomTokenizer()</a></td>
  128. <td>获取自定义词法分析器</td>
  129. <td>XSFieldMeta</td>
  130. </tr>
  131. <tr id="hasCustomTokenizer">
  132. <td><a href="XSFieldMeta.html#hasCustomTokenizer-detail">hasCustomTokenizer()</a></td>
  133. <td>判断当前字段是否采用自定义分词器</td>
  134. <td>XSFieldMeta</td>
  135. </tr>
  136. <tr id="hasIndex">
  137. <td><a href="XSFieldMeta.html#hasIndex-detail">hasIndex()</a></td>
  138. <td>判断当前字段是否需要索引</td>
  139. <td>XSFieldMeta</td>
  140. </tr>
  141. <tr id="hasIndexMixed">
  142. <td><a href="XSFieldMeta.html#hasIndexMixed-detail">hasIndexMixed()</a></td>
  143. <td>判断当前字段是否需要在混合区索引</td>
  144. <td>XSFieldMeta</td>
  145. </tr>
  146. <tr id="hasIndexSelf">
  147. <td><a href="XSFieldMeta.html#hasIndexSelf-detail">hasIndexSelf()</a></td>
  148. <td>判断当前字段是否需要在字段区索引</td>
  149. <td>XSFieldMeta</td>
  150. </tr>
  151. <tr id="isBoolIndex">
  152. <td><a href="XSFieldMeta.html#isBoolIndex-detail">isBoolIndex()</a></td>
  153. <td>判断当前字段的索引是否为布尔型</td>
  154. <td>XSFieldMeta</td>
  155. </tr>
  156. <tr id="isNumeric">
  157. <td><a href="XSFieldMeta.html#isNumeric-detail">isNumeric()</a></td>
  158. <td>判断当前字段是否为数字型</td>
  159. <td>XSFieldMeta</td>
  160. </tr>
  161. <tr id="isSpeical">
  162. <td><a href="XSFieldMeta.html#isSpeical-detail">isSpeical()</a></td>
  163. <td>判断当前字段是否为特殊类型</td>
  164. <td>XSFieldMeta</td>
  165. </tr>
  166. <tr id="toConfig">
  167. <td><a href="XSFieldMeta.html#toConfig-detail">toConfig()</a></td>
  168. <td>将对象转换为配置文件字符串</td>
  169. <td>XSFieldMeta</td>
  170. </tr>
  171. <tr id="val">
  172. <td><a href="XSFieldMeta.html#val-detail">val()</a></td>
  173. <td>把给定的值转换为符合这个字段的数据格式</td>
  174. <td>XSFieldMeta</td>
  175. </tr>
  176. <tr id="withPos">
  177. <td><a href="XSFieldMeta.html#withPos-detail">withPos()</a></td>
  178. <td>判断当前字段索引是否支持短语搜索</td>
  179. <td>XSFieldMeta</td>
  180. </tr>
  181. </table>
  182. </div>
  183. <a name="events"></a>
  184. <h2>属性明细</h2>
  185. <div class="detailHeader" id="cutlen-detail">
  186. cutlen<span class="detailHeaderTag">
  187. 属性
  188. </span>
  189. </div>
  190. <div class="signature">
  191. public int <b>$cutlen</b>;</div>
  192. <p>剪取长度 (单位:字节)
  193. 用于在返回搜索结果自动剪取较长内容的字段, 默认为 0表示不截取, body 型字段默认为 300 字节</p>
  194. <div class="detailHeader" id="name-detail">
  195. name<span class="detailHeaderTag">
  196. 属性
  197. </span>
  198. </div>
  199. <div class="signature">
  200. public string <b>$name</b>;</div>
  201. <p>字段名称
  202. 理论上支持各种可视字符, 推荐字符范围:[0-9A-Za-z-_], 长度控制在 1~32 字节为宜</p>
  203. <div class="detailHeader" id="type-detail">
  204. type<span class="detailHeaderTag">
  205. 属性
  206. </span>
  207. </div>
  208. <div class="signature">
  209. public int <b>$type</b>;</div>
  210. <p>字段类型</p>
  211. <div class="detailHeader" id="vno-detail">
  212. vno<span class="detailHeaderTag">
  213. 属性
  214. </span>
  215. </div>
  216. <div class="signature">
  217. public int <b>$vno</b>;</div>
  218. <p>字段序号
  219. 取值为 0~255, 同一字段方案内不能重复, 由 <a href="XSFieldScheme.html#addField">XSFieldScheme::addField</a> 进行确定</p>
  220. <div class="detailHeader" id="weight-detail">
  221. weight<span class="detailHeaderTag">
  222. 属性
  223. </span>
  224. </div>
  225. <div class="signature">
  226. public int <b>$weight</b>;</div>
  227. <p>混合区检索时的相对权重
  228. 取值范围: 1~63, title 类型的字段默认为 5, 其它字段默认为 1</p>
  229. <h2>方法明细</h2>
  230. <div class="detailHeader" id="__construct-detail">
  231. __construct()
  232. <span class="detailHeaderTag">
  233. 方法
  234. </span>
  235. </div>
  236. <table class="summaryTable">
  237. <tr><td colspan="3">
  238. <div class="signature2">
  239. public void <b>__construct</b>(string $name, array $config=NULL)</div>
  240. </td></tr>
  241. <tr>
  242. <td class="paramNameCol">$name</td>
  243. <td class="paramTypeCol">string</td>
  244. <td class="paramDescCol">字段名称</td>
  245. </tr>
  246. <tr>
  247. <td class="paramNameCol">$config</td>
  248. <td class="paramTypeCol">array</td>
  249. <td class="paramDescCol">可选参数, 初始化字段各项配置</td>
  250. </tr>
  251. </table>
  252. <div class="sourceCode">
  253. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L290">sdk/php/lib/XSFieldScheme.class.php#L290</a> (<b><a href="#" class="show">显示</a></b>)
  254. <div class="code"><code><span style="color: #000000">
  255. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$config&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</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;if&nbsp;(</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</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">fromConfig</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">);<br />}</span>
  256. </span>
  257. </code></div>
  258. </div>
  259. <p>构造函数</p>
  260. <div class="detailHeader" id="__toString-detail">
  261. __toString()
  262. <span class="detailHeaderTag">
  263. 方法
  264. </span>
  265. </div>
  266. <table class="summaryTable">
  267. <tr><td colspan="3">
  268. <div class="signature2">
  269. public string <b>__toString</b>()</div>
  270. </td></tr>
  271. <tr>
  272. <td class="paramNameCol">{return}</td>
  273. <td class="paramTypeCol">string</td>
  274. <td class="paramDescCol">字段名称</td>
  275. </tr>
  276. </table>
  277. <div class="sourceCode">
  278. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L301">sdk/php/lib/XSFieldScheme.class.php#L301</a> (<b><a href="#" class="show">显示</a></b>)
  279. <div class="code"><code><span style="color: #000000">
  280. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">__toString</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">;<br />}</span>
  281. </span>
  282. </code></div>
  283. </div>
  284. <p>将对象转换为字符串</p>
  285. <div class="detailHeader" id="fromConfig-detail">
  286. fromConfig()
  287. <span class="detailHeaderTag">
  288. 方法
  289. </span>
  290. </div>
  291. <table class="summaryTable">
  292. <tr><td colspan="3">
  293. <div class="signature2">
  294. public void <b>fromConfig</b>(array $config)</div>
  295. </td></tr>
  296. <tr>
  297. <td class="paramNameCol">$config</td>
  298. <td class="paramTypeCol">array</td>
  299. <td class="paramDescCol">原始配置属性数组</td>
  300. </tr>
  301. </table>
  302. <div class="sourceCode">
  303. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L492">sdk/php/lib/XSFieldScheme.class.php#L492</a> (<b><a href="#" class="show">显示</a></b>)
  304. <div class="code"><code><span style="color: #000000">
  305. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">fromConfig</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;type&nbsp;&amp;&nbsp;default&nbsp;setting<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(isset(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'type'</span><span style="color: #007700">]))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$predef&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'self::TYPE_'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">strtoupper</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'type'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #0000BB">$predef</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #0000BB">$predef</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_SELF</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'full'</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_BOTH&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_WITH_POSITION</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">weight&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">5</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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">$this</span><span style="color: #007700">-&gt;</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_SELF&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_WITH_POSITION</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cutlen&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">300</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;</span><span style="color: #FF8000">//&nbsp;index&nbsp;flag<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(isset(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'index'</span><span style="color: #007700">])&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$predef&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'self::FLAG_INDEX_'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">strtoupper</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'index'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #0000BB">$predef</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">&amp;=&nbsp;~&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_BOTH</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">flag&nbsp;</span><span style="color: #007700">|=&nbsp;</span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #0000BB">$predef</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">|=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_SELF</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;others<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(isset(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'cutlen'</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">cutlen&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'cutlen'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'weight'</span><span style="color: #007700">])&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">weight&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'weight'</span><span style="color: #007700">])&nbsp;&amp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">MAX_WDF</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'phrase'</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">strcasecmp</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'phrase'</span><span style="color: #007700">],&nbsp;</span><span style="color: #DD0000">'yes'</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">flag&nbsp;</span><span style="color: #007700">|=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_WITH_POSITION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(!</span><span style="color: #0000BB">strcasecmp</span><span style="color: #007700">(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'phrase'</span><span style="color: #007700">],&nbsp;</span><span style="color: #DD0000">'no'</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">flag&nbsp;</span><span style="color: #007700">&amp;=&nbsp;~&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_WITH_POSITION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'tokenizer'</span><span style="color: #007700">])&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'tokenizer'</span><span style="color: #007700">]&nbsp;!=&nbsp;</span><span style="color: #DD0000">'default'</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">tokenizer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$config</span><span style="color: #007700">[</span><span style="color: #DD0000">'tokenizer'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span>
  306. </span>
  307. </code></div>
  308. </div>
  309. <p>解析字段对象属性</p>
  310. <div class="detailHeader" id="getCustomTokenizer-detail">
  311. getCustomTokenizer()
  312. <span class="detailHeaderTag">
  313. 方法
  314. </span>
  315. </div>
  316. <table class="summaryTable">
  317. <tr><td colspan="3">
  318. <div class="signature2">
  319. public <a href="XSTokenizer.html">XSTokenizer</a> <b>getCustomTokenizer</b>()</div>
  320. </td></tr>
  321. <tr>
  322. <td class="paramNameCol">{return}</td>
  323. <td class="paramTypeCol"><a href="XSTokenizer.html">XSTokenizer</a></td>
  324. <td class="paramDescCol">获取当前字段的自定义词法分析器</td>
  325. </tr>
  326. </table>
  327. <div class="sourceCode">
  328. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L401">sdk/php/lib/XSFieldScheme.class.php#L401</a> (<b><a href="#" class="show">显示</a></b>)
  329. <div class="code"><code><span style="color: #000000">
  330. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">getCustomTokenizer</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_tokenizers</span><span style="color: #007700">[</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer</span><span style="color: #007700">]))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_tokenizers</span><span style="color: #007700">[</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer</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;if&nbsp;((</span><span style="color: #0000BB">$pos1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'('</span><span style="color: #007700">))&nbsp;!==&nbsp;</span><span style="color: #0000BB">false<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;(</span><span style="color: #0000BB">$pos2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">')'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$pos1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</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">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'XSTokenizer'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">ucfirst</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$pos1</span><span style="color: #007700">)));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$arg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$pos1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$pos2&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">$pos1&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1</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">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'XSTokenizer'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">ucfirst</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$arg&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;if&nbsp;(!</span><span style="color: #0000BB">class_exists</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;throw&nbsp;new&nbsp;</span><span style="color: #0000BB">XSException</span><span style="color: #007700">(</span><span style="color: #DD0000">'Undefined&nbsp;custom&nbsp;tokenizer&nbsp;`'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'\'&nbsp;for&nbsp;field&nbsp;`'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'\''</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$obj&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$arg&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">null&nbsp;</span><span style="color: #007700">?&nbsp;new&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">:&nbsp;new&nbsp;</span><span style="color: #0000BB">$name</span><span style="color: #007700">(</span><span style="color: #0000BB">$arg</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">$obj&nbsp;</span><span style="color: #007700">instanceof&nbsp;</span><span style="color: #0000BB">XSTokenizer</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">$name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&nbsp;for&nbsp;field&nbsp;`'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'\'&nbsp;dose&nbsp;not&nbsp;implement&nbsp;the&nbsp;interface:&nbsp;XSTokenizer'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$_tokenizers</span><span style="color: #007700">[</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$obj</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$obj</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span>
  331. </span>
  332. </code></div>
  333. </div>
  334. <p>获取自定义词法分析器</p>
  335. <div class="detailHeader" id="hasCustomTokenizer-detail">
  336. hasCustomTokenizer()
  337. <span class="detailHeaderTag">
  338. 方法
  339. </span>
  340. </div>
  341. <table class="summaryTable">
  342. <tr><td colspan="3">
  343. <div class="signature2">
  344. public bool <b>hasCustomTokenizer</b>()</div>
  345. </td></tr>
  346. <tr>
  347. <td class="paramNameCol">{return}</td>
  348. <td class="paramTypeCol">bool</td>
  349. <td class="paramDescCol">是返回 true, 不是返回 false</td>
  350. </tr>
  351. </table>
  352. <div class="sourceCode">
  353. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L391">sdk/php/lib/XSFieldScheme.class.php#L391</a> (<b><a href="#" class="show">显示</a></b>)
  354. <div class="code"><code><span style="color: #000000">
  355. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">hasCustomTokenizer</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">tokenizer&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">XSTokenizer</span><span style="color: #007700">::</span><span style="color: #0000BB">DFL</span><span style="color: #007700">);<br />}</span>
  356. </span>
  357. </code></div>
  358. </div>
  359. <p>判断当前字段是否采用自定义分词器</p>
  360. <div class="detailHeader" id="hasIndex-detail">
  361. hasIndex()
  362. <span class="detailHeaderTag">
  363. 方法
  364. </span>
  365. </div>
  366. <table class="summaryTable">
  367. <tr><td colspan="3">
  368. <div class="signature2">
  369. public bool <b>hasIndex</b>()</div>
  370. </td></tr>
  371. <tr>
  372. <td class="paramNameCol">{return}</td>
  373. <td class="paramTypeCol">bool</td>
  374. <td class="paramDescCol">若需要返回 true, 不需要则返回 false</td>
  375. </tr>
  376. </table>
  377. <div class="sourceCode">
  378. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L364">sdk/php/lib/XSFieldScheme.class.php#L364</a> (<b><a href="#" class="show">显示</a></b>)
  379. <div class="code"><code><span style="color: #000000">
  380. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">hasIndex</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">flag&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_BOTH</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  381. </span>
  382. </code></div>
  383. </div>
  384. <p>判断当前字段是否需要索引</p>
  385. <div class="detailHeader" id="hasIndexMixed-detail">
  386. hasIndexMixed()
  387. <span class="detailHeaderTag">
  388. 方法
  389. </span>
  390. </div>
  391. <table class="summaryTable">
  392. <tr><td colspan="3">
  393. <div class="signature2">
  394. public bool <b>hasIndexMixed</b>()</div>
  395. </td></tr>
  396. <tr>
  397. <td class="paramNameCol">{return}</td>
  398. <td class="paramTypeCol">bool</td>
  399. <td class="paramDescCol">若需要返回 true, 不需要则返回 false</td>
  400. </tr>
  401. </table>
  402. <div class="sourceCode">
  403. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L373">sdk/php/lib/XSFieldScheme.class.php#L373</a> (<b><a href="#" class="show">显示</a></b>)
  404. <div class="code"><code><span style="color: #000000">
  405. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">hasIndexMixed</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">flag&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_MIXED</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  406. </span>
  407. </code></div>
  408. </div>
  409. <p>判断当前字段是否需要在混合区索引</p>
  410. <div class="detailHeader" id="hasIndexSelf-detail">
  411. hasIndexSelf()
  412. <span class="detailHeaderTag">
  413. 方法
  414. </span>
  415. </div>
  416. <table class="summaryTable">
  417. <tr><td colspan="3">
  418. <div class="signature2">
  419. public bool <b>hasIndexSelf</b>()</div>
  420. </td></tr>
  421. <tr>
  422. <td class="paramNameCol">{return}</td>
  423. <td class="paramTypeCol">bool</td>
  424. <td class="paramDescCol">若需要返回 true, 不需要则返回 false</td>
  425. </tr>
  426. </table>
  427. <div class="sourceCode">
  428. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L382">sdk/php/lib/XSFieldScheme.class.php#L382</a> (<b><a href="#" class="show">显示</a></b>)
  429. <div class="code"><code><span style="color: #000000">
  430. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">hasIndexSelf</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">flag&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_SELF</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  431. </span>
  432. </code></div>
  433. </div>
  434. <p>判断当前字段是否需要在字段区索引</p>
  435. <div class="detailHeader" id="isBoolIndex-detail">
  436. isBoolIndex()
  437. <span class="detailHeaderTag">
  438. 方法
  439. </span>
  440. </div>
  441. <table class="summaryTable">
  442. <tr><td colspan="3">
  443. <div class="signature2">
  444. public bool <b>isBoolIndex</b>()</div>
  445. </td></tr>
  446. <tr>
  447. <td class="paramNameCol">{return}</td>
  448. <td class="paramTypeCol">bool</td>
  449. <td class="paramDescCol">是返回 true, 不是返回 false</td>
  450. </tr>
  451. </table>
  452. <div class="sourceCode">
  453. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L336">sdk/php/lib/XSFieldScheme.class.php#L336</a> (<b><a href="#" class="show">显示</a></b>)
  454. <div class="code"><code><span style="color: #000000">
  455. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">isBoolIndex</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">hasIndex</span><span style="color: #007700">()&nbsp;||&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">XSTokenizer</span><span style="color: #007700">::</span><span style="color: #0000BB">DFL</span><span style="color: #007700">);<br />}</span>
  456. </span>
  457. </code></div>
  458. </div>
  459. <p>判断当前字段的索引是否为布尔型
  460. 目前只有内置分词器支持语法型索引, 自 1.0.1 版本起把非索引字段也视为布尔便于判断</p>
  461. <div class="detailHeader" id="isNumeric-detail">
  462. isNumeric()
  463. <span class="detailHeaderTag">
  464. 方法
  465. </span>
  466. </div>
  467. <table class="summaryTable">
  468. <tr><td colspan="3">
  469. <div class="signature2">
  470. public bool <b>isNumeric</b>()</div>
  471. </td></tr>
  472. <tr>
  473. <td class="paramNameCol">{return}</td>
  474. <td class="paramTypeCol">bool</td>
  475. <td class="paramDescCol">是返回 true, 不是返回 false</td>
  476. </tr>
  477. </table>
  478. <div class="sourceCode">
  479. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L345">sdk/php/lib/XSFieldScheme.class.php#L345</a> (<b><a href="#" class="show">显示</a></b>)
  480. <div class="code"><code><span style="color: #000000">
  481. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">isNumeric</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">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_NUMERIC</span><span style="color: #007700">);<br />}</span>
  482. </span>
  483. </code></div>
  484. </div>
  485. <p>判断当前字段是否为数字型</p>
  486. <div class="detailHeader" id="isSpeical-detail">
  487. isSpeical()
  488. <span class="detailHeaderTag">
  489. 方法
  490. </span>
  491. </div>
  492. <table class="summaryTable">
  493. <tr><td colspan="3">
  494. <div class="signature2">
  495. public bool <b>isSpeical</b>()</div>
  496. </td></tr>
  497. <tr>
  498. <td class="paramNameCol">{return}</td>
  499. <td class="paramTypeCol">bool</td>
  500. <td class="paramDescCol">是返回 true, 不是返回 false</td>
  501. </tr>
  502. </table>
  503. <div class="sourceCode">
  504. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L355">sdk/php/lib/XSFieldScheme.class.php#L355</a> (<b><a href="#" class="show">显示</a></b>)
  505. <div class="code"><code><span style="color: #000000">
  506. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">isSpeical</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">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">);<br />}</span>
  507. </span>
  508. </code></div>
  509. </div>
  510. <p>判断当前字段是否为特殊类型
  511. 特殊类型的字段是指 id, title, body, 每个项目至多只能有一个这种类型的字段</p>
  512. <div class="detailHeader" id="toConfig-detail">
  513. toConfig()
  514. <span class="detailHeaderTag">
  515. 方法
  516. </span>
  517. </div>
  518. <table class="summaryTable">
  519. <tr><td colspan="3">
  520. <div class="signature2">
  521. public string <b>toConfig</b>()</div>
  522. </td></tr>
  523. <tr>
  524. <td class="paramNameCol">{return}</td>
  525. <td class="paramTypeCol">string</td>
  526. <td class="paramDescCol">转换后的配置文件字符串</td>
  527. </tr>
  528. </table>
  529. <div class="sourceCode">
  530. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L433">sdk/php/lib/XSFieldScheme.class.php#L433</a> (<b><a href="#" class="show">显示</a></b>)
  531. <div class="code"><code><span style="color: #000000">
  532. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">toConfig</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;type<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&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">name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"]\n"</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">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_NUMERIC</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"type&nbsp;=&nbsp;numeric\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_DATE</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"type&nbsp;=&nbsp;date\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"type&nbsp;=&nbsp;id\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"type&nbsp;=&nbsp;title\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"type&nbsp;=&nbsp;body\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;index<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;(</span><span style="color: #0000BB">$index&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_BOTH</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">$index&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_BOTH</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">type&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"index&nbsp;=&nbsp;both\n"</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">$index&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_INDEX_MIXED</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">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"index&nbsp;=&nbsp;mixed\n"</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;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"index&nbsp;=&nbsp;self\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;tokenizer<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_ID&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">tokenizer&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">XSTokenizer</span><span style="color: #007700">::</span><span style="color: #0000BB">DFL</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"tokenizer&nbsp;=&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">tokenizer&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;cutlen<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cutlen&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">cutlen&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">300&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">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"cutlen&nbsp;=&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cutlen&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;weight<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">weight&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">1&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">weight&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">5&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">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"weight&nbsp;=&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">weight&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;phrase<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">flag&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_WITH_POSITION</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">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY&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">type&nbsp;</span><span style="color: #007700">!==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"phrase&nbsp;=&nbsp;yes\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_BODY&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">type&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_TITLE</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$str&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"phrase&nbsp;=&nbsp;no\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$str</span><span style="color: #007700">;<br />}</span>
  533. </span>
  534. </code></div>
  535. </div>
  536. <p>将对象转换为配置文件字符串</p>
  537. <div class="detailHeader" id="val-detail">
  538. val()
  539. <span class="detailHeaderTag">
  540. 方法
  541. </span>
  542. </div>
  543. <table class="summaryTable">
  544. <tr><td colspan="3">
  545. <div class="signature2">
  546. public mixed <b>val</b>(mixed $value)</div>
  547. </td></tr>
  548. <tr>
  549. <td class="paramNameCol">$value</td>
  550. <td class="paramTypeCol">mixed</td>
  551. <td class="paramDescCol">原值</td>
  552. </tr>
  553. <tr>
  554. <td class="paramNameCol">{return}</td>
  555. <td class="paramTypeCol">mixed</td>
  556. <td class="paramDescCol">转换后的值</td>
  557. </tr>
  558. </table>
  559. <div class="sourceCode">
  560. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L311">sdk/php/lib/XSFieldScheme.class.php#L311</a> (<b><a href="#" class="show">显示</a></b>)
  561. <div class="code"><code><span style="color: #000000">
  562. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">val</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</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">type&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_DATE</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;日期类型:&nbsp;转换成专用的&nbsp;YYYYmmdd&nbsp;格式<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(!</span><span style="color: #0000BB">is_numeric</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">)&nbsp;||&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">)&nbsp;!=&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">)<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">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ymd'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">is_numeric</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">$value&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">strtotime</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$value</span><span style="color: #007700">;<br />}</span>
  563. </span>
  564. </code></div>
  565. </div>
  566. <p>把给定的值转换为符合这个字段的数据格式</p>
  567. <div class="detailHeader" id="withPos-detail">
  568. withPos()
  569. <span class="detailHeaderTag">
  570. 方法
  571. </span>
  572. </div>
  573. <table class="summaryTable">
  574. <tr><td colspan="3">
  575. <div class="signature2">
  576. public bool <b>withPos</b>()</div>
  577. </td></tr>
  578. <tr>
  579. <td class="paramNameCol">{return}</td>
  580. <td class="paramTypeCol">bool</td>
  581. <td class="paramDescCol">是返回 true, 不是返回 false</td>
  582. </tr>
  583. </table>
  584. <div class="sourceCode">
  585. <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/lib/XSFieldScheme.class.php#L326">sdk/php/lib/XSFieldScheme.class.php#L326</a> (<b><a href="#" class="show">显示</a></b>)
  586. <div class="code"><code><span style="color: #000000">
  587. <span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">withPos</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">flag&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">FLAG_WITH_POSITION</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}</span>
  588. </span>
  589. </code></div>
  590. </div>
  591. <p>判断当前字段索引是否支持短语搜索</p>
  592. </div><!-- end of content -->
  593. <div id="apiFooter">
  594. Copyright &copy; 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
  595. All Rights Reserved.<br/>
  596. </div><!-- end of footer -->
  597. <script type="text/javascript">
  598. /*<![CDATA[*/
  599. $("a.toggle").toggle(function(){
  600. $(this).text($(this).text().replace(/Hide/,'Show'));
  601. $(this).parents(".summary").find(".inherited").hide();
  602. },function(){
  603. $(this).text($(this).text().replace(/Show/,'Hide'));
  604. $(this).parents(".summary").find(".inherited").show();
  605. });
  606. $(".sourceCode a.show").toggle(function(){
  607. $(this).text($(this).text().replace(/show/,'hide'));
  608. $(this).parents(".sourceCode").find("div.code").show();
  609. },function(){
  610. $(this).text($(this).text().replace(/hide/,'show'));
  611. $(this).parents(".sourceCode").find("div.code").hide();
  612. });
  613. $("a.sourceLink").click(function(){
  614. $(this).attr('target','_blank');
  615. });
  616. /*]]>*/
  617. </script>
  618. </div><!-- end of page -->
  619. </body>
  620. </html>