<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [Xunsearch PHP-SDK](http://www.xunsearch.com) v1.4.8 權威指南 1. [搜索結果文檔](#) 1. [索引文檔](#) # XSDocument 文檔 [XSDocument](#) 是用于描述檢索/索引的基礎對象,包含一組字段及其值。相當于常規 `SQL` 數據表中的一行記錄。通過魔術方法,每個字段名都是文檔的虛擬屬性,可直接賦值或取值,也支持數組下標方式訪問文檔字段。 ~~~ $doc = new XSDocument; $doc->name = 'value'; // 用對象屬性方式進行賦值、取值 $doc['name'] = 'value'; // 用數組下標方式進行賦值、取值 $value = $doc->f('name'); // 用函數方式進行取值 $doc->setField('name', 'value'); // 用函數方式進行賦值 $doc->setFields(array('name' => 'value', 'name2' => 'value2')); // 用數組進行批量賦值 // 迭代方式取所有字段值 foreach($doc as $name => $value) { echo "$name: $value\n"; } ~~~ 用于索引更新的文檔對象和搜索結果返回中略有不同,下面分開講解。 ### 1. 搜索結果文檔[?]() 搜索結果文檔是指 [XSSearch::search](#) 返回值包含的文檔,它由 `PHP-SDK` 內部代碼創建。除了普通文檔的功能外,還支持以下魔術方法來訪問搜索結果的元數據: - `docid()` 取得搜索結果文檔的 docid 值 (實際數據庫內的 id,一般用不到) - `rank()` 取得搜索結果文檔的序號值 (第X條結果) - `percent()` 取得搜索結果文檔的匹配百分比 (結果匹配度, 1~100) - `weight()` 取得搜索結果文檔的權重值 (浮點數) - `ccount()` 取得搜索結果折疊的數量 (按字段折疊搜索時才有效) 訪問結果文檔的字符集默認是與 [XSSearch::setCharset](#) 所指定的字符集一致的,如未指定過則為 [XS::defaultCharset](#)。雖然您可以通過 [XSDocument::setCharset](#) 來強制修改文檔的字符集,但不推薦這樣做,也沒必要這樣做。 ### 2. 索引文檔[?]() 索引文檔是指由用戶創建,并用于提交更新到索引庫中的文檔,創建文檔時允許傳入字符集作為構造函數的參數,如未傳入,則自動視為項目的默認字符集 [XS::defaultCharset](#),如果字符集不是 `UTF-8` 的系統內部會自動進行轉換,但要求 `PHP` 帶有中文轉碼擴展 ([iconv](http://php.net/manual/en/book.iconv.php) 或 [mbstring](http://php.net/manual/en/book.mbstring.php)) ~~~ $doc = new XSDocument; // 使用默認字符集 $doc = new XSDocument('gbk'); // 指定文檔為 GBK 編碼 $doc = new XSDocument($data); // 數組 $data 為初始字段數據, 編碼則為默認編碼 $doc = new XSDocument($data, 'gbk'); // 數組 $data 為字段數據, 編碼為 GBK // 然后進行一系列賦值操作 // 提交到索引中 $xs->index->add($doc); ~~~ 如果您希望在 `XSDocument` 提交到索引前、后進行一系列必要的操作,您可以對 `XSDocument` 進行擴展,重寫 [XSDocument::beforeSubmit](#) 和 [XSDocument::afterSubmit](#) 方法來實現,比如擴展代碼為`$prefix/sdk/php/lib/MyDocument.class.php`。 ~~~ class MyDocument extends XSDocument { public function beforeSubmit(XSIndex $index) { // 在此編寫您的代碼,如需要中斷添加請提前返回 false // ... return parent::beforeSubmit($index); } public function afterSubmit(XSIndex $index) { // 在此編寫您的代碼,只有加入索引成功后才會執行 // ... } } $doc = new MyDocument('gbk'); $doc->pid = 123; $doc->subject = 'Hello, 測試'; $doc->message = '測試的內容在此'; $xs->index->add($doc); ~~~ $Id$ [? XSException 異常](#) [XSIndex 索引管理 ?](#) Copyright ? 2008-2011 by [杭州云圣網絡科技有限公司](http://www.xunsearch.com) All Rights Reserved. ![](https://box.kancloud.cn/2015-09-10_55f11d02123e5.gif) ![](https://box.kancloud.cn/2015-09-10_55f11d021c854.gif) ![](https://box.kancloud.cn/2015-09-10_55f11d022499d.gif)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看