<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <dl style="line-height: 1.5; margin-left: 2em">
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Author</dt>
      <dd style="margin-left: 8.5em">Kouhei Sutou &lt;kou****@clear*****&gt;</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Date</dt>
      <dd style="margin-left: 8.5em">2017-10-13 18:24:32 +0900 (Fri, 13 Oct 2017)</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">New Revision</dt>
      <dd style="margin-left: 8.5em"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3">51411133aadc3e6168894c224a6b5389b42de3d3</a></dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Message</dt>
      <dd style="margin-left: 8.5em"><pre style="border: 1px solid #aaa; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; padding: 0.5em; width: auto">blog ja: PGroonga 2.0.3 has been released!!!</pre></dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Added files</dt>
      <dd style="margin-left: 8.5em">
        <ul>
          <li><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631">ja/_posts/2017-10-10-pgroonga-2.0.2.md</a></li>
        </ul>
      </dd>
    </dl>

    <div class="diff-section" style="clear: both">
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Added: ja/_posts/2017-10-10-pgroonga-2.0.2.md (+213 -0) 100644</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631">...</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631">...</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R1">1</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R2">2</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R3">3</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R4">4</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R5">5</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R6">6</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R7">7</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R8">8</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R9">9</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R10">10</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R11">11</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R12">12</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R13">13</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R14">14</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R15">15</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R16">16</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R17">17</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R18">18</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R19">19</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R20">20</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R21">21</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R22">22</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R23">23</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R24">24</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R25">25</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R26">26</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R27">27</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R28">28</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R29">29</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R30">30</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R31">31</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R32">32</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R33">33</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R34">34</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R35">35</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R36">36</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R37">37</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R38">38</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R39">39</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R40">40</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R41">41</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R42">42</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R43">43</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R44">44</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R45">45</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R46">46</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R47">47</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R48">48</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R49">49</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R50">50</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R51">51</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R52">52</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R53">53</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R54">54</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R55">55</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R56">56</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R57">57</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R58">58</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R59">59</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R60">60</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R61">61</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R62">62</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R63">63</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R64">64</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R65">65</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R66">66</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R67">67</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R68">68</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R69">69</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R70">70</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R71">71</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R72">72</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R73">73</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R74">74</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R75">75</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R76">76</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R77">77</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R78">78</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R79">79</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R80">80</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R81">81</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R82">82</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R83">83</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R84">84</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R85">85</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R86">86</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R87">87</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R88">88</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R89">89</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R90">90</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R91">91</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R92">92</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R93">93</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R94">94</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R95">95</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R96">96</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R97">97</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R98">98</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R99">99</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R100">100</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R101">101</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R102">102</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R103">103</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R104">104</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R105">105</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R106">106</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R107">107</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R108">108</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R109">109</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R110">110</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R111">111</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R112">112</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R113">113</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R114">114</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R115">115</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R116">116</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R117">117</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R118">118</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R119">119</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R120">120</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R121">121</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R122">122</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R123">123</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R124">124</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R125">125</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R126">126</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R127">127</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R128">128</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R129">129</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R130">130</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R131">131</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R132">132</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R133">133</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R134">134</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R135">135</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R136">136</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R137">137</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R138">138</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R139">139</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R140">140</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R141">141</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R142">142</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R143">143</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R144">144</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R145">145</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R146">146</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R147">147</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R148">148</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R149">149</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R150">150</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R151">151</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R152">152</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R153">153</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R154">154</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R155">155</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R156">156</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R157">157</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R158">158</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R159">159</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R160">160</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R161">161</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R162">162</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R163">163</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R164">164</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R165">165</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R166">166</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R167">167</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R168">168</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R169">169</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R170">170</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R171">171</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R172">172</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R173">173</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R174">174</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R175">175</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R176">176</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R177">177</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R178">178</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R179">179</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R180">180</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R181">181</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R182">182</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R183">183</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R184">184</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R185">185</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R186">186</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R187">187</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R188">188</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R189">189</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R190">190</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R191">191</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R192">192</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R193">193</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R194">194</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R195">195</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R196">196</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R197">197</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R198">198</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R199">199</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R200">200</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R201">201</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R202">202</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R203">203</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R204">204</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R205">205</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R206">206</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R207">207</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R208">208</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R209">209</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R210">210</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R211">211</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R212">212</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga.org/commit/51411133aadc3e6168894c224a6b5389b42de3d3#diff-68449e9ff6f50ea5d2339be60c81e631R213">213</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -0,0 +1,213 @@</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+---</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+layout: post.ja</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+title: PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.3リリース</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+description: PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.3をリリースしました!</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+---</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+## PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.3リリース</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PostgreSQLで高速日本語全文検索をできるようにする[PGroonga](https://pgroonga.github.io/ja/)の2.0.3をリリースしました!メジャーバージョンアップです!</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+## PGroongaについて</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+メジャーバージョンアップ後の最初のリリースアナウンスなので、PGroongaについての説明をします。今回の変更のハイライトはこの後にまとめています。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroongaはPostgreSQLを高速に日本語全文検索可能なシステムに拡張する魔法のような拡張機能です。PGroongaの他にも類似の拡張機能はありますが、速度・機能面で他の拡張機能とは一線を画しています。これはPGroongaはバックエンドに[Groonga](http://groonga.org/ja/)という本格的な全文検索エンジンを使っているためです。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+### 速度</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+速度面では類似の拡張機能である[pg\_bigm](http://pgbigm.osdn.jp/)よりも高速です。PostgreSQL本体に含まれている全文検索モジュール[textsearch](https://www.postgresql.jp/document/9.6/html/textsearch.html)よりも高速です。インデックス作成時間、検索時間ともに数倍から10倍以上高速です。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+まずはPGroongaとpg\_bigmのインデックス作成時間です。Wikipedia日本語版データを使っています。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+拡張機能   | インデックス作成時間</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+----------|--------------------</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroonga  | 約19分</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+pg\_bigm  | 約33分</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+このケースでは2倍弱高速です。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+続いてPGroongaとtextsearchのインデックス作成時間は次の通りです。textsearchが日本語非対応なのでWikipedia英語版データを使っています。データ量が違うので↑の結果とは直接比較はできません。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+拡張機能   | インデックス作成時間</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+-----------|--------------------</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroonga   | 約1時間24分</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+textsearch | 約2時間53分</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+このケースでは2倍強高速です。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroongaとpg\_bigmの検索時間は次の通りです。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+検索語                       | ヒット数  | PGroongaの検索時間 | pg\_bigmの検索時間</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+-----------------------------|----------|--------------------|------------------</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+「PostgreSQL」または「MySQL」 | 約300    | *約2ms*            | 約49ms</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+データベース                  | 約1万5千 | *約49ms*           | 約1300ms</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+テレビアニメ                  | 約2万    | *約65ms*           | 約2800ms</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+日本                         | 約53万    | 約560ms            | *約480ms*</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+「日本」で検索した場合はpg\_bigmの方がやや速い(\*1)ですがそれ以外の場合ではPGroongaの方が24倍から43倍ほど高速です。どのような検索語に対しても安定して高い性能を出していると言えます。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+(\*1) pg\_bigmは3文字以上の検索語より2文字以下の検索語の方が得意です。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroongaとtextsearchの検索時間は次の通りです。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+検索語                       | ヒット数  | PGroongaの検索時間 | textsearchの検索時間 | Groongaの検索時間</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+-----------------------------|----------|--------------------|---------------------|------------------</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+「PostgreSQL」または「MySQL」 | 約1600   | 約6ms              | *約3ms*             | 約3ms</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+database                     | 約21万   | 約698ms             | *約602ms*           | 約19ms</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+animation                    | 約4万    | *約173ms*           | 約1000ms(\*2)       | 約6ms</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+America                      | 約47万   | 約1300ms            | *約1200ms*         | 約45ms</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+(\*2) textsearchでは「animation」で約42万件(PGroongaの約10倍)ヒットしているため遅いです。要因は「animation」を「anim」とステミングしているからです。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroongaとtextsearchの検索時間はほぼ同じです。「animation」でtextsearchの方が遅いのはヒット数の違いからくるもので、本質的な検索速度の差ではありません。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+参考までにPGroongaが使っている全文検索エンジンGroongaでの結果もつけています。Groongaではすべて数十msで検索できているので、PGroonga・textsearchの検索速度は、全文検索の速度ではなくPostgreSQL内の共通のオーバーヘッドの影響が大きいということがわかります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+ベンチマークの詳細は以下を参照してください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * [PGroonga対pg\_bigm](https://pgroonga.github.io/ja/reference/pgroonga-versus-pg-bigm.html)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * [PGroonga対textsearch対pg\_trgm](https://pgroonga.github.io/ja/reference/pgroonga-versus-textsearch-and-pg-trgm.html)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+機能面では他の類似拡張機能にはない次の機能を提供しています。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * ノーマライズ機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * トークナイザーのカスタマイズ機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * トークンフィルターのカスタマイズ機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * クエリー言語を用いた検索</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * HTML対応のハイライト機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * HTML対応のスニペット機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * JSON検索</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * オートコンプリート機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * 類似文書検索機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * 同義語展開機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+ノーマライズ機能とは異なる表記のテキストを同等の表記のテキストに統一する処理です。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+簡単なものでは「ポスグレ」というようにいわゆる半角カタカナで書かれたテキストも「ポスグレ」もどちらも「ポスグレ」というようにいわゆる全角カタカナに統一します。こうすることにより「ポスグレ」(全角カタカナ)で検索しても「ポスグレ」(半角カタカナ)で書かれたテキストでもヒットするようになります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+難しいものだと「㍊」は「ミリバール」に変換します。これらは[UnicodeのNFKC](http://unicode.org/reports/tr15/)という方法をベースにしています。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+トークナイザーのカスタマイズ機能とは検索キーワードとなるキーワードを抽出する処理(トークナイズ処理)をカスタマイズできる機能です。抽出処理をカスタマイズすることにより、検索精度・検索性能のトレードオフをユーザーがコントロールできるようになります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+たとえば、「形態素解析器を使ったトークナイザー」というものにすれば精度・性能は向上しますが、検索漏れが発生することがあります。なお、他の類似拡張機能で形態素解析器を使ったトークナイズ処理をできるものはありません。PGroongaだけです。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+「形態素解析器を使ったトークナイザー」には[MeCab](http://taku910.github.io/mecab/)(OSS)を使ったものと[JMAT](http://www.slideshare.net/JSUXDesign/jmat-groonga-tokenizertalks20150320)(非OSSの商用製品)を使ったものがあります。バックエンドで使っているGroongaはトークナイザーをプラグインとして追加できる機能を提供しているため様々なプロダクトを活用してトークナイザーを実装できるのです。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+トークンフィルターのカスタマイズ機能とはトークナイザーで抽出したキーワードを加工する処理をカスタマイズできる機能です。textsearchではdictionaryという名前で同様の機能があります。PGroongaもtextsearchもステミング機能はこの仕組みで実現しています。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+クエリー言語を用いた検索とは「A OR (B -C)」というようにAND/OR/NOT検索をユーザーが指定できる機能です。Googleと同様の文法で使えます。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+HTML対応のハイライト機能とは検索キーワードを`&lt;span class=&quot;keyword&quot;&gt;...&lt;/span&gt;`でマークアップする機能です。結果はそのままHTML内で使っても安全です。Webアプリケーションの開発に便利です。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+HTML対応のスニペット機能とは検索キーワード周辺テキストを返す機能で、Googleの検索結果でも使われています。もちろん、キーワードは`&lt;span class=&quot;keyword&quot;&gt;...&lt;/span&gt;`でマークアップされます。こちらも結果をそのままHTML内で使っても安全です。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+JSON検索機能とは`jsonb`型のカラム全体をインデックスに登録し、柔軟に検索できる機能です。JSON内のすべてのテキストを全文検索することもできるため、JSON形式でいろんな構造のログを保存しておいて後で検索、といったことも簡単にできます。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+オートコンプリート機能とは検索キーワードを入力するテキストボックスで入力キーワードを補完する機能です。Googleでも実装されている機能です。Googleと同様にローマ字で入力しても補完できます。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+類似文書検索機能とは内容が似ているテキストを検索する機能です。ブログで類似記事を表示するために使えます。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+同義語展開機能とは同じ意味だけど表現の違うキーワードをまとめて検索する機能です。たとえば「牛乳」と検索したときに「牛乳」も「ミルク」も検索します。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+それぞれの機能が気になった人は[PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム](https://slide.rabbit-shocker.org/authors/kou/php-conference-2017/)も見てください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+現在は未実装ですが、今後、提供予定の機能には次のような機能があります。これらはGroongaでは実装されている機能です。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * 重み付け指定機能</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+### 使い方</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroongaは全文検索のことをあまり知らなくても簡単に使えます。インデックスを作成して`WHERE`に条件を指定するだけです。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+```sql</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+CREATE INDEX index_name ON table USING pgroonga (column);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+SELECT * FROM table WHERE column &amp;@~ &#39;全文検索&#39;;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+```</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+`LIKE`でもインデックスを使って検索できる機能を提供しているため、既存アプリケーションで次のように書いていたとしてもアプリケーションを変更せずに高速にできます。ただし、`LIKE`の方が全文検索専用の演算子`&amp;@~`よりも遅いので、おいおいは専用の書き方に直していくことをオススメします。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+```sql</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+SELECT * FROM table WHERE column LIKE &#39;%全文検索%&#39;;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+```</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+興味がでてきましたか?[インストール](https://pgroonga.github.io/ja/install/)して[チュートリアル](https://pgroonga.github.io/ja/tutorial/)を試してみてください。一通りの機能を確認できます。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+インストールは簡単です。主要なプラットフォーム用にパッケージを提供しているからです。Windows用のバイナリーも提供しています。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+## ハイライト</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+今回のリリースの紹介に戻ります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+1.2.3以降のハイライトは次の通りです。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * PostgreSQL 10のサポート</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * クエリーの実行プランの精度向上(高速化)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  * `pgroonga`スキーマの非推奨化</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+     * PGroonga 1系と後方互換性を維持しているため、従来通り`pgroonga`スキーマを使うこともできます。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+それぞれ説明します。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+### PostgreSQL 10のサポート</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+先日リリースされたPostgreSQL 10に対応しています。最新のPostgreSQLでPGroongaを使えます!</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PostgreSQL 10から導入されたロジカルレプリケーションにも対応しています。従来のフィジカルレプリケーションでも[レプリケーション](https://pgroonga.github.io/ja/reference/replication.html)できましたが、PostgreSQL 10対応で新しい選択肢が増えたことになります。用途にあわせて使い分けてください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+従来のフィジカルレプリケーションを使うとディスク使用量が多いのですが、ある程度クラッシュリカバリーが効くようになります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+一方、ロジカルレプリケーションではより柔軟なスキーマ構成を実現できます。たとえば、マスターは更新専用にし、参照はスレーブだけで受付、PGroongaのインデックスはスレーブだけに作る(マスターには作らない)という構成もできます。こうすることで、更新性能を向上させつつ、参照に対してスケールアウトする構成にできます。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+それぞれのレプリケーション方法についてベンチマークを実施する予定です。結果を楽しみにしていてください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PostgreSQLクラスターの構成について商用サポートが必要な場合は[PGroongaのサポートページ](https://pgroonga.github.io/ja/support/)を参照してください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+### クエリーの実行プランの精度向上(高速化)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PostgreSQLのプランナーはPGroongaを含む各インデックスから情報を取得して処理コストを計算し、最適な実行プランを選択します。PGroongaがより精度の高い結果をプランナーに返せば、より高速な実行プランを選択できるようになります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+今回のリリースでは`STABLE`な関数(DBの内容によらず引数が同じなら結果が同じになる関数)・`IMMUTABLE`な関数(同一トランザクション内で引数が同じなら結果が同じになる関数)の結果を使って検索するときの実行プランの精度が向上しました。PGroongaで使う`IMMUTABLE`な関数の代表は[`pgroonga_query_expand()`](https://pgroonga.github.io/reference/functions/pgroonga-query-expand.html)です。これはクエリー展開をする関数で、次のように検索クエリーに対して使います。このように検索クエリーを加工する関数を使ったときでもより高速な実行プランを選択しやすくなりました。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+```sql</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+SELECT *</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  FROM diaries</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+ WHERE content &amp;@~ pgroonga_query_expand(&#39;synonyms&#39;, &#39;term&#39;, &#39;synonyms&#39;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                                         &#39;ユーザーが入力した検索クエリー&#39;);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+```</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+### `pgroonga`スキーマの非推奨化</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroonga 1系では`pgroonga`スキーマ以下に関数やオペレータークラスを定義していましたが、カレントスキーマ(多くの場合は`public`)以下にプレフィックス付きで定義した方が使いやすいという声が多かったです。そのため、PGroonga 2系では`pgroonga`スキーマを非推奨とし、`pgroonga_`プレフィックス付きの名前で定義するようにしました。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+`pgroonga`スキーマは非推奨となりましたが、後方互換性を維持するために従来通り`pgroonga`スキーマを使うこともできます。安心してアップグレードしてください。少なくともPGroonga 2系の間は`pgroonga`スキーマをサポートするので、徐々に`pgroonga_`プレフィックスを使った使い方に更新していってください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+## アップグレード方法</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+1.0以降のすべてのバージョンと互換性があります。[アップグレード](https://pgroonga.github.io/ja/upgrade/)の「互換性がある場合」用の手順でアップグレードしてください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+## おしらせ</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+### セッション</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+2017年11月3日(金、祝日)に[PostgreSQL Conference Japan 2017](https://www.postgresql.jp/events/jpug-pgcon2017)で[PGroonga 2.0 - PostgreSQLでの全文検索の決定版](https://www.postgresql.jp/events/jpug-pgcon2017#A4)というセッションがあります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+2017年12月5日(金)に[PGConf.ASIA 2017](http://www.pgconf.asia/JA/2017/)で[PGroonga 2.0 – Make PostgreSQL rich full text search system backend!](http://www.pgconf.asia/JA/2017/day-1/#B5)というセッションがあります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+どちらもPGroonga 2関連のセッションですが、PostgreSQL Conference Japan 2017の方がまだPGroongaを使っていない人向け、PGConf.ASIA 2017の方がPGroongaをすでに使っている人と拡張機能を開発している人向けの内容になります。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+### サポートサービス</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+[PGroongaのサポートサービス](https://pgroonga.github.io/ja/support/)を提供しています。インデックスや検索の設計方法に関するコンサルティングやトラブル時の調査、パフォーマンス改善・新機能追加などの技術支援など、PGroongaに関わるサポートが必要な場合はご相談ください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+## まとめ</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PGroongaの新しいリリースを紹介しました。PGroonga 2になって、よりPostgreSQLらしく使えるようになっています。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+ここで紹介したもの以外の変更点は[リリースノート](https://pgroonga.github.io/ja/news/#version-2-0-3)を参照してください。</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+PostgreSQLで高速に日本語全文検索をしたいという方はPGroongaを使ってガンガン検索してください!</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>