Sophie

Sophie

distrib > Fedora > 18 > x86_64 > media > updates > by-pkgid > e450e7f3d6075c4a54de19e68d38177f > files > 590

groonga-doc-3.0.5-1.fc18.x86_64.rpm


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>8.3.2. 出力形式 &mdash; groonga v3.0.5ドキュメント</title>
    
    <link rel="stylesheet" href="../../_static/groonga.css" type="text/css" />
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../../',
        VERSION:     '3.0.5',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../../_static/jquery.js"></script>
    <script type="text/javascript" src="../../_static/underscore.js"></script>
    <script type="text/javascript" src="../../_static/doctools.js"></script>
    <script type="text/javascript" src="../../_static/translations.js"></script>
    <link rel="shortcut icon" href="../../_static/favicon.ico"/>
    <link rel="top" title="groonga v3.0.5ドキュメント" href="../../index.html" />
    <link rel="up" title="8.3. コマンド" href="../command.html" />
    <link rel="next" title="8.3.3. リターンコード" href="return_code.html" />
    <link rel="prev" title="8.3.1. コマンドバージョン" href="command_version.html" /> 
  </head>
  <body>
<div class="header">
  <h1 class="title">
    <a id="top-link" href="../../index.html">
      <span class="project">groonga</span>
      <span class="separator">-</span>
      <span class="description">オープンソースのカラムストア機能付き全文検索エンジン</span>
    </a>
  </h1>

  <div class="other-language-links">
    <ul>
      <li><a href="../../../../en/html/reference/command/output_format.html"><img src="../../_static/us.png" alt="English">English page</a></li>
    </ul>
  </div>
</div>
  

    <div class="related">
      <h3>ナビゲーション</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../../genindex.html" title="総合索引"
             accesskey="I">索引</a></li>
        <li class="right" >
          <a href="return_code.html" title="8.3.3. リターンコード"
             accesskey="N">次へ</a> |</li>
        <li class="right" >
          <a href="command_version.html" title="8.3.1. コマンドバージョン"
             accesskey="P">前へ</a> |</li>
        <li><a href="../../index.html">groonga v3.0.5ドキュメント</a> &raquo;</li>
          <li><a href="../../reference.html" >8. リファレンスマニュアル</a> &raquo;</li>
          <li><a href="../command.html" accesskey="U">8.3. コマンド</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="output-format">
<h1>8.3.2. 出力形式<a class="headerlink" href="#output-format" title="このヘッドラインへのパーマリンク">¶</a></h1>
<div class="section" id="summary">
<h2>8.3.2.1. 概要<a class="headerlink" href="#summary" title="このヘッドラインへのパーマリンク">¶</a></h2>
<p>コマンドは実行結果をJSONまたはMessagePack、XML、TSVのどれかで出力します。</p>
<p>JSONとMessagePackの出力は同じ構造になっています。XMLとTSVはそれぞれ独自の構造になっています。</p>
<p>JSONまたはMessagePackの利用を推奨します。XMLは目視で結果を確認する時に便利です。TSVは特殊な用途では有用です。通常はTSVを使う必要はありません。</p>
</div>
<div class="section" id="json-and-messagepack">
<h2>8.3.2.2. JSONとMessagePack<a class="headerlink" href="#json-and-messagepack" title="このヘッドラインへのパーマリンク">¶</a></h2>
<p>このセクションではJSONとMessagePack形式を使った時のコマンド実行結果の構造を説明します。MessagePackはバイナリー形式なのでここでは構造を示すためにJSONを使います。バイナリー形式はドキュメントには向いていません。</p>
<p>JSON形式、MessagePack形式のときは以下のような構造になります:</p>
<div class="highlight-none"><div class="highlight"><pre>[HEADER, BODY]
</pre></div>
</div>
<p>実行例:</p>
<div class="highlight-none"><div class="highlight"><pre>[
  [
    0,
    1337566253.89858,
    0.000355720520019531
  ],
  [
    [
      [
        1
      ],
      [
        [
          &quot;_id&quot;,
          &quot;UInt32&quot;
        ],
        [
          &quot;_key&quot;,
          &quot;ShortText&quot;
        ],
        [
          &quot;content&quot;,
          &quot;Text&quot;
        ],
        [
          &quot;n_likes&quot;,
          &quot;UInt32&quot;
        ]
      ],
      [
        2,
        &quot;Groonga&quot;,
        &quot;I started to use groonga. It&#39;s very fast!&quot;,
        10
      ]
    ]
  ]
]
</pre></div>
</div>
<p>この例では、以下の部分が <tt class="docutils literal"><span class="pre">HEADER</span></tt> に相当します:</p>
<div class="highlight-none"><div class="highlight"><pre>[
  0,
  1337566253.89858,
  0.000355720520019531
]
</pre></div>
</div>
<p><tt class="docutils literal"><span class="pre">BODY</span></tt> に相当する部分は以下です:</p>
<div class="highlight-none"><div class="highlight"><pre>[
  [
    [
      1
    ],
    [
      [
        &quot;_id&quot;,
        &quot;UInt32&quot;
      ],
      [
        &quot;_key&quot;,
        &quot;ShortText&quot;
      ],
      [
        &quot;content&quot;,
        &quot;Text&quot;
      ],
      [
        &quot;n_likes&quot;,
        &quot;UInt32&quot;
      ]
    ],
    [
      2,
      &quot;Groonga&quot;,
      &quot;I started to use groonga. It&#39;s very fast!&quot;,
      10
    ]
  ]
]
</pre></div>
</div>
<div class="section" id="header">
<h3>8.3.2.2.1. <tt class="docutils literal"><span class="pre">HEADER</span></tt><a class="headerlink" href="#header" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p><tt class="docutils literal"><span class="pre">HEADER</span></tt> は配列です。 <tt class="docutils literal"><span class="pre">HEADER</span></tt> の内容にはいくつかのパターンがあります。</p>
<div class="section" id="success-case">
<h4>8.3.2.2.1.1. 成功した場合<a class="headerlink" href="#success-case" title="このヘッドラインへのパーマリンク">¶</a></h4>
<p>コマンドが成功した場合は <tt class="docutils literal"><span class="pre">HEADER</span></tt> には3つの要素があります:</p>
<div class="highlight-none"><div class="highlight"><pre>[0, UNIX_TIME_WHEN_COMMAND_IS_STARTED, ELAPSED_TIME]
</pre></div>
</div>
<p>最初の値は常に <tt class="docutils literal"><span class="pre">0</span></tt> です。</p>
<p><tt class="docutils literal"><span class="pre">UNIX_TIME_WHEN_COMMAND_IS_STARTED</span></tt> はコマンドの実行が始まったときの時刻です。時刻は1970-01-01 00:00:00から経過した秒数で表現されています。 <tt class="docutils literal"><span class="pre">ELAPSED_TIME</span></tt> はコマンドの実行にかかった時間です。単位は秒です。 <tt class="docutils literal"><span class="pre">UNIX_TIME_WHEN_COMMAND_IS_STARTED</span></tt> も <tt class="docutils literal"><span class="pre">ELAPSED_TIME</span></tt> も浮動小数点数です。小数部分はナノ秒を表します。</p>
</div>
<div class="section" id="error-case">
<h4>8.3.2.2.1.2. エラーの場合<a class="headerlink" href="#error-case" title="このヘッドラインへのパーマリンク">¶</a></h4>
<p>エラーの場合、 <tt class="docutils literal"><span class="pre">HEADER</span></tt> には4個または5個の要素があります:</p>
<div class="highlight-none"><div class="highlight"><pre>[
  RETURN_CODE,
  UNIX_TIME_WHEN_COMMAND_IS_STARTED,
  ELAPSED_TIME,
  ERROR_MESSAGE,
  ERROR_LOCATION
]
</pre></div>
</div>
<p><tt class="docutils literal"><span class="pre">ERROR_LOCATION</span></tt> は <tt class="docutils literal"><span class="pre">HEADER</span></tt> には含まれないかもしれませんが、他の4個の要素は常に含まれます。</p>
<p><tt class="docutils literal"><span class="pre">RETURN_CODE</span></tt> は0ではない値です。リターンコードの詳細は <a class="reference internal" href="return_code.html"><em>リターンコード</em></a> を見てください。</p>
<p><tt class="docutils literal"><span class="pre">UNIX_TIME_WHEN_COMMAND_IS_STARTED</span></tt> と <tt class="docutils literal"><span class="pre">ELAPSED_TIME</span></tt> は成功した時と同じです。</p>
<p><tt class="docutils literal"><span class="pre">ERROR_MESSAGE</span></tt> はエラーメッセージです。文字列です。</p>
<p><tt class="docutils literal"><span class="pre">ERROR_LOCATION</span></tt> は存在しないことがあります。もし、エラーが発生した場所の情報を収集できていた場合は <tt class="docutils literal"><span class="pre">ERROR_LOCATION</span></tt> が含まれます。 <tt class="docutils literal"><span class="pre">ERROR_LOCATION</span></tt> は配列です。 <tt class="docutils literal"><span class="pre">ERROR_LOCATION</span></tt> は1個または2個の要素を含みます:</p>
<div class="highlight-none"><div class="highlight"><pre>[
  LOCATION_IN_GROONGA,
  LOCATION_IN_INPUT
]
</pre></div>
</div>
<p><tt class="docutils literal"><span class="pre">LOCATION_IN_GROONGA</span></tt> はgroonga内でエラーが発生したソースコードの場所です。この情報はgroonga開発者には役に立ちますが、ユーザーの役には立ちません。 <tt class="docutils literal"><span class="pre">LOCATION_IN_GROONGA</span></tt> は配列です。 <tt class="docutils literal"><span class="pre">LOCATION_IN_GROONGA</span></tt> には3個の要素があります:</p>
<div class="highlight-none"><div class="highlight"><pre>[
  FUNCTION_NAME,
  SOURCE_FILE_NAME,
  LINE_NUMBER
]
</pre></div>
</div>
<p><tt class="docutils literal"><span class="pre">FUNCTION_NAME</span></tt> はエラーが発生した関数の名前です。</p>
<p><tt class="docutils literal"><span class="pre">SOURCE_FILE_NAME</span></tt> はエラーが発生した箇所を含んだgroongaのソースコードのファイル名です。</p>
<p><tt class="docutils literal"><span class="pre">LINE_NUMBER</span></tt> はエラーが発生した箇所の <tt class="docutils literal"><span class="pre">SOURCE_FILE_NAME</span></tt> での行番号です。</p>
<p><tt class="docutils literal"><span class="pre">LOCATION_IN_INPUT</span></tt> は存在しないことがあります。 <tt class="docutils literal"><span class="pre">LOCATION_IN_INPUT</span></tt> は入力ファイルでエラーが発生した場所の情報を収集できたときに含まれます。入力ファイルは <tt class="docutils literal"><span class="pre">groonga</span></tt> コマンドのコマンドラインオプション <tt class="docutils literal"><span class="pre">--file</span></tt> で指定できます。 <tt class="docutils literal"><span class="pre">LOCATION_IN_GROONGA</span></tt> は配列です。 <tt class="docutils literal"><span class="pre">LOCATION_IN_GROONGA</span></tt> には3個の要素があります:</p>
<div class="highlight-none"><div class="highlight"><pre>[
  INPUT_FILE_NAME,
  LINE_NUMBER,
  LINE_CONTENT
]
</pre></div>
</div>
<p><tt class="docutils literal"><span class="pre">INPUT_FILE_NAME</span></tt> はエラーが発生した入力ファイルのファイル名です。</p>
<p><tt class="docutils literal"><span class="pre">LINE_NUMBER</span></tt> はエラーが発生した箇所の <tt class="docutils literal"><span class="pre">INPUT_FILE_NAME</span></tt> での行番号です。</p>
<p><tt class="docutils literal"><span class="pre">LINE_CONTENT</span></tt> は <tt class="docutils literal"><span class="pre">INPUT_FILE_NAME</span></tt> 内の <tt class="docutils literal"><span class="pre">LINE_NUMBER</span></tt> 行目の内容です。</p>
</div>
</div>
<div class="section" id="body">
<h3>8.3.2.2.2. <tt class="docutils literal"><span class="pre">BODY</span></tt><a class="headerlink" href="#body" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p><tt class="docutils literal"><span class="pre">BODY</span></tt> の内容は実行したコマンドに依存します。 <tt class="docutils literal"><span class="pre">BODY</span></tt> がないこともあります。</p>
<p>エラーが発生した時に、 <tt class="docutils literal"><span class="pre">BODY</span></tt> にエラーメッセージが入っていることもあります。</p>
</div>
</div>
<div class="section" id="xml">
<h2>8.3.2.3. XML<a class="headerlink" href="#xml" title="このヘッドラインへのパーマリンク">¶</a></h2>
<p>TODO</p>
</div>
<div class="section" id="tsv">
<h2>8.3.2.4. TSV<a class="headerlink" href="#tsv" title="このヘッドラインへのパーマリンク">¶</a></h2>
<p>TODO</p>
</div>
<div class="section" id="see-also">
<h2>8.3.2.5. 参考<a class="headerlink" href="#see-also" title="このヘッドラインへのパーマリンク">¶</a></h2>
<ul class="simple">
<li><a class="reference internal" href="return_code.html"><em>リターンコード</em></a> describes about return code.</li>
</ul>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../../index.html">目次</a></h3>
  <ul>
<li><a class="reference internal" href="#">8.3.2. 出力形式</a><ul>
<li><a class="reference internal" href="#summary">8.3.2.1. 概要</a></li>
<li><a class="reference internal" href="#json-and-messagepack">8.3.2.2. JSONとMessagePack</a><ul>
<li><a class="reference internal" href="#header">8.3.2.2.1. <tt class="docutils literal"><span class="pre">HEADER</span></tt></a><ul>
<li><a class="reference internal" href="#success-case">8.3.2.2.1.1. 成功した場合</a></li>
<li><a class="reference internal" href="#error-case">8.3.2.2.1.2. エラーの場合</a></li>
</ul>
</li>
<li><a class="reference internal" href="#body">8.3.2.2.2. <tt class="docutils literal"><span class="pre">BODY</span></tt></a></li>
</ul>
</li>
<li><a class="reference internal" href="#xml">8.3.2.3. XML</a></li>
<li><a class="reference internal" href="#tsv">8.3.2.4. TSV</a></li>
<li><a class="reference internal" href="#see-also">8.3.2.5. 参考</a></li>
</ul>
</li>
</ul>

  <h4>前のトピックへ</h4>
  <p class="topless"><a href="command_version.html"
                        title="前の章へ">8.3.1. コマンドバージョン</a></p>
  <h4>次のトピックへ</h4>
  <p class="topless"><a href="return_code.html"
                        title="次の章へ">8.3.3. リターンコード</a></p>
  <h3>このページ</h3>
  <ul class="this-page-menu">
    <li><a href="../../_sources/reference/command/output_format.txt"
           rel="nofollow">ソースコードを表示</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>クイック検索</h3>
    <form class="search" action="../../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="検索" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    モジュール、クラス、または関数名を入力してください
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>ナビゲーション</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../../genindex.html" title="総合索引"
             >索引</a></li>
        <li class="right" >
          <a href="return_code.html" title="8.3.3. リターンコード"
             >次へ</a> |</li>
        <li class="right" >
          <a href="command_version.html" title="8.3.1. コマンドバージョン"
             >前へ</a> |</li>
        <li><a href="../../index.html">groonga v3.0.5ドキュメント</a> &raquo;</li>
          <li><a href="../../reference.html" >8. リファレンスマニュアル</a> &raquo;</li>
          <li><a href="../command.html" >8.3. コマンド</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2009-2013, Brazil, Inc.
    </div>
  </body>
</html>