index.update.html 4.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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="../api/css/style.css" />
  7. <link rel="stylesheet" type="text/css" href="../api/css/guide.css" />
  8. <link rel="stylesheet" type="text/css" href="../api/css/highlight.css" />
  9. <title>更新、修改文档</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 权威指南
  15. </div><!-- end of header -->
  16. <div id="content" class="markdown">
  17. <h1 id="-">更新、修改文档</h1>
  18. <p>在 <code>Xunsearch PHP-SDK</code> 中,更新、修改文档和<a href="index.add.html">添加文档</a>的做法非常的类似,
  19. 只不过调用的是 <a href="../api/XSIndex.html#update">XSIndex::update</a>,并且在内部处理上有所区别。</p>
  20. <p>如果索引数据库中已存在主键值相同的文档,那么相当于先删除原有的文档,再用当前文档替换它。
  21. 如果未存在主键值相同的文档,则效果和添加文档完全一致。</p>
  22. <blockquote class="info">
  23. <p><strong>Info:</strong> 有人可能会想,既然如此为什么还要有 <a href="../api/XSIndex:add.html">XSIndex:add</a> 呢,因为添加文档少了一个判断
  24. 过程,具有更高一些的效率。因此,如果您在使用 <code>API</code> 时能明确知道当前文档是新增的,那么
  25. 还是建议使用 <code>add</code> 这个 <code>API</code>。</p>
  26. </blockquote>
  27. <p>示范代码如下:</p>
  28. <div class="hl-code"><div class="php-hl-main"><pre><span class="php-hl-var">$data</span><span class="php-hl-code"> = </span><span class="php-hl-reserved">array</span><span class="php-hl-brackets">(</span>
  29. <span class="php-hl-quotes">'</span><span class="php-hl-string">pid</span><span class="php-hl-quotes">'</span><span class="php-hl-code"> =&gt; </span><span class="php-hl-number">234</span><span class="php-hl-code">, </span><span class="php-hl-comment">//</span><span class="php-hl-comment"> 此字段为主键,是进行文档替换的唯一标识</span>
  30. <span class="php-hl-quotes">'</span><span class="php-hl-string">subject</span><span class="php-hl-quotes">'</span><span class="php-hl-code"> =&gt; </span><span class="php-hl-quotes">'</span><span class="php-hl-string">测试文档的标题</span><span class="php-hl-quotes">'</span><span class="php-hl-code">,
  31. </span><span class="php-hl-quotes">'</span><span class="php-hl-string">message</span><span class="php-hl-quotes">'</span><span class="php-hl-code"> =&gt; </span><span class="php-hl-quotes">'</span><span class="php-hl-string">测试文档的内容部分</span><span class="php-hl-quotes">'</span><span class="php-hl-code">,
  32. </span><span class="php-hl-quotes">'</span><span class="php-hl-string">chrono</span><span class="php-hl-quotes">'</span><span class="php-hl-code"> =&gt; </span><span class="php-hl-identifier">time</span><span class="php-hl-brackets">(</span><span class="php-hl-brackets">)</span>
  33. <span class="php-hl-brackets">)</span><span class="php-hl-code">;
  34. </span><span class="php-hl-comment">//</span><span class="php-hl-comment"> 创建文档对象</span>
  35. <span class="php-hl-var">$doc</span><span class="php-hl-code"> = </span><span class="php-hl-reserved">new</span> <span class="php-hl-identifier">XSDocument</span><span class="php-hl-code">;
  36. </span><span class="php-hl-var">$doc</span><span class="php-hl-code">-&gt;</span><span class="php-hl-identifier">setFields</span><span class="php-hl-brackets">(</span><span class="php-hl-var">$data</span><span class="php-hl-brackets">)</span><span class="php-hl-code">;
  37. </span><span class="php-hl-comment">//</span><span class="php-hl-comment"> 更新到索引数据库中</span>
  38. <span class="php-hl-var">$index</span><span class="php-hl-code">-&gt;</span><span class="php-hl-identifier">update</span><span class="php-hl-brackets">(</span><span class="php-hl-var">$doc</span><span class="php-hl-brackets">)</span><span class="php-hl-code">;</span></pre></div></div>
  39. <div class="revision">$Id$</div>
  40. <div class="clear"></div>
  41. </div><!-- end of content -->
  42. <div id="guideNav">
  43. <div class="prev"><a href="index.add.html">&laquo; 添加文档</a></div>
  44. <div class="next"><a href="index.del.html">删除文档 &raquo;</a></div>
  45. <div class="clear"></div>
  46. </div><!-- end of nav -->
  47. <div id="apiFooter">
  48. Copyright &copy; 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
  49. All Rights Reserved.<br/>
  50. </div><!-- end of footer -->
  51. </div><!-- end of page -->
  52. <div style="display:none;">
  53. <img src="../api/css/info.gif" />
  54. <img src="../api/css/tip.gif" />
  55. <img src="../api/css/note.gif" />
  56. </div>
  57. </body>
  58. </html>