<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>8.3.25. suggest — groonga v3.0.5ドキュメント</title> <link rel="stylesheet" href="../../_static/groonga.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../../', VERSION: '3.0.5', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/translations.js"></script> <link rel="shortcut icon" href="../../_static/favicon.ico"/> <link rel="top" title="groonga v3.0.5ドキュメント" href="../../index.html" /> <link rel="up" title="8.3. コマンド" href="../command.html" /> <link rel="next" title="8.3.26. table_create" href="table_create.html" /> <link rel="prev" title="8.3.24. status" href="status.html" /> </head> <body> <div class="header"> <h1 class="title"> <a id="top-link" href="../../index.html"> <span class="project">groonga</span> <span class="separator">-</span> <span class="description">オープンソースのカラムストア機能付き全文検索エンジン</span> </a> </h1> <div class="other-language-links"> <ul> <li><a href="../../../../en/html/reference/commands/suggest.html"><img src="../../_static/us.png" alt="English">English page</a></li> </ul> </div> </div> <div class="related"> <h3>ナビゲーション</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../../genindex.html" title="総合索引" accesskey="I">索引</a></li> <li class="right" > <a href="table_create.html" title="8.3.26. table_create" accesskey="N">次へ</a> |</li> <li class="right" > <a href="status.html" title="8.3.24. status" accesskey="P">前へ</a> |</li> <li><a href="../../index.html">groonga v3.0.5ドキュメント</a> »</li> <li><a href="../../reference.html" >8. リファレンスマニュアル</a> »</li> <li><a href="../command.html" accesskey="U">8.3. コマンド</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="suggest"> <h1>8.3.25. suggest<a class="headerlink" href="#suggest" title="このヘッドラインへのパーマリンク">¶</a></h1> <div class="admonition note"> <p class="first admonition-title">ノート</p> <p class="last">サジェスト機能の仕様はまだ確定していません。仕様は変更される可能性があります。</p> </div> <div class="section" id="name"> <h2>8.3.25.1. 名前<a class="headerlink" href="#name" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>suggest - 指定されたクエリーに対する補完・補正・提案候補を返す。</p> </div> <div class="section" id="synopsis"> <h2>8.3.25.2. 書式<a class="headerlink" href="#synopsis" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="highlight-none"><div class="highlight"><pre>suggest types table column query [sortby [output_columns [offset [limit [frequency_threshold [conditional_probability_threshold [prefix_search]]]]]]] </pre></div> </div> </div> <div class="section" id="description"> <h2>8.3.25.3. 説明<a class="headerlink" href="#description" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>suggestコマンドは指定されたクエリーに対する補完・補正・提案候補を返します。</p> <p>補完・補正・提案については <a class="reference internal" href="../../suggest/introduction.html"><em>はじめに</em></a> を参照してください。</p> </div> <div class="section" id="options"> <h2>8.3.25.4. オプション<a class="headerlink" href="#options" title="このヘッドラインへのパーマリンク">¶</a></h2> <dl class="docutils"> <dt><tt class="docutils literal"><span class="pre">types</span></tt></dt> <dd><p class="first">suggestコマンドでどの種類の候補を返すかを指定します。</p> <p>指定できる種類は以下の通りです。</p> <blockquote> <div><dl class="docutils"> <dt><tt class="docutils literal"><span class="pre">complete</span></tt></dt> <dd><p class="first last">補完を実行します。</p> </dd> <dt><tt class="docutils literal"><span class="pre">correct</span></tt></dt> <dd><p class="first last">補正を実行します。</p> </dd> <dt><tt class="docutils literal"><span class="pre">suggest</span></tt></dt> <dd><p class="first last">提案を実行します。</p> </dd> </dl> </div></blockquote> <p>1つ以上の種類を指定できます。複数の種類を指定する場合は <tt class="docutils literal"><span class="pre">|</span></tt> で区切ります。以下が例です。:</p> <blockquote class="last"> <div><p>補正候補を返します:</p> <div class="highlight-none"><div class="highlight"><pre>correct </pre></div> </div> <p>補正候補と提案候補を返します:</p> <div class="highlight-none"><div class="highlight"><pre>correct|suggest </pre></div> </div> <p>補完候補と補正候補と提案候補を返します:</p> <div class="highlight-none"><div class="highlight"><pre>complete|correct|suggest </pre></div> </div> </div></blockquote> </dd> <dt><tt class="docutils literal"><span class="pre">table</span></tt></dt> <dd><p class="first"><tt class="docutils literal"><span class="pre">item_${データセット名}</span></tt> というフォーマットのテーブル名を指定します。例えば、以下のコマンドでデータセットを作成した場合はテーブル名として <tt class="docutils literal"><span class="pre">item_query</span></tt> を指定します:</p> <div class="last highlight-none"><div class="highlight"><pre>groonga-suggest-create-dataset /tmp/db-path query </pre></div> </div> </dd> <dt><tt class="docutils literal"><span class="pre">column</span></tt></dt> <dd><p class="first last"><tt class="docutils literal"><span class="pre">table</span></tt> で指定したテーブルにあるふりがな情報を含むカラムを指定します。ふりがなはカタカナで指定します。</p> </dd> <dt><tt class="docutils literal"><span class="pre">query</span></tt></dt> <dd><p class="first last">補完・補正・提案対象のクエリーを指定します。</p> </dd> <dt><tt class="docutils literal"><span class="pre">sortby</span></tt></dt> <dd><p class="first">ソートキーを指定します。</p> <dl class="last docutils"> <dt>Default:</dt> <dd><tt class="docutils literal"><span class="pre">-_score</span></tt></dd> </dl> </dd> <dt><tt class="docutils literal"><span class="pre">output_columns</span></tt></dt> <dd><p class="first">出力するカラムを指定します。</p> <dl class="last docutils"> <dt>Default:</dt> <dd><tt class="docutils literal"><span class="pre">_key,_score</span></tt></dd> </dl> </dd> <dt><tt class="docutils literal"><span class="pre">offset</span></tt></dt> <dd><p class="first">返されるレコードのオフセットを指定します。</p> <dl class="last docutils"> <dt>Default:</dt> <dd><tt class="docutils literal"><span class="pre">0</span></tt></dd> </dl> </dd> <dt><tt class="docutils literal"><span class="pre">limit</span></tt></dt> <dd><p class="first">返されるレコード数を指定します。</p> <dl class="last docutils"> <dt>Default:</dt> <dd><tt class="docutils literal"><span class="pre">10</span></tt></dd> </dl> </dd> <dt><tt class="docutils literal"><span class="pre">frequency_threshold</span></tt></dt> <dd><p class="first">出現頻度に対する閾値を指定します。返されるレコードの <tt class="docutils literal"><span class="pre">_score</span></tt> 値は <tt class="docutils literal"><span class="pre">frequency_threshold</span></tt> 以上になります。</p> <dl class="last docutils"> <dt>Default:</dt> <dd><tt class="docutils literal"><span class="pre">100</span></tt></dd> </dl> </dd> </dl> <p><tt class="docutils literal"><span class="pre">conditional_probability_threshold</span></tt></p> <blockquote> <div><p>条件付き確率に対する閾値を指定します。学習データに対して条件付き確率を使います。ここで使う条件付き確率は、入力した <tt class="docutils literal"><span class="pre">query</span></tt> と同じ入力があったときにクエリが検索された確率です。返されるレコードの条件付き確率は <tt class="docutils literal"><span class="pre">conditional_probability_threshold</span></tt> 以上になります。</p> <dl class="docutils"> <dt>Default:</dt> <dd><tt class="docutils literal"><span class="pre">0.2</span></tt></dd> </dl> </div></blockquote> <dl class="docutils"> <dt><tt class="docutils literal"><span class="pre">prefix_search</span></tt></dt> <dd><p class="first">補完時に前方一致検索を実行するかどうかを指定します。</p> <p>指定可能な値は以下の通りです。</p> <blockquote> <div><dl class="docutils"> <dt><tt class="docutils literal"><span class="pre">yes</span></tt></dt> <dd><p class="first last">常に前方一致検索を実行します。</p> </dd> <dt><tt class="docutils literal"><span class="pre">no</span></tt></dt> <dd><p class="first last">前方一致検索を実行しません。</p> </dd> <dt><tt class="docutils literal"><span class="pre">auto</span></tt></dt> <dd><p class="first last">他の検索でレコードが見つからない場合のみ前方一致検索を実行します。</p> </dd> </dl> </div></blockquote> <dl class="last docutils"> <dt>Default:</dt> <dd><tt class="docutils literal"><span class="pre">auto</span></tt></dd> </dl> </dd> <dt><tt class="docutils literal"><span class="pre">similar_search</span></tt></dt> <dd><p class="first">補正時に類似検索を実行するかどうかを指定します。</p> <p>指定可能な値は以下の通りです。</p> <blockquote> <div><dl class="docutils"> <dt><tt class="docutils literal"><span class="pre">yes</span></tt></dt> <dd><p class="first last">常に類似検索を実行します。</p> </dd> <dt><tt class="docutils literal"><span class="pre">no</span></tt></dt> <dd><p class="first last">類似検索を実行しません。</p> </dd> <dt><tt class="docutils literal"><span class="pre">auto</span></tt></dt> <dd><p class="first last">他の検索でレコードが見つからない場合のみ類似検索を実行します。</p> </dd> </dl> </div></blockquote> <dl class="last docutils"> <dt>Default:</dt> <dd><tt class="docutils literal"><span class="pre">auto</span></tt></dd> </dl> </dd> </dl> </div> <div class="section" id="return-value"> <h2>8.3.25.5. 戻り値<a class="headerlink" href="#return-value" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="json-format"> <h3>8.3.25.5.1. JSON形式<a class="headerlink" href="#json-format" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>返されるJSON形式は以下の通りです:</p> <div class="highlight-none"><div class="highlight"><pre>{"type1": [["candidate1", score of candidate1], ["candidate2", score of candidate2], ...], "type2": [["candidate1", score of candidate1], ["candidate2", score of candidate2], ...], ...} </pre></div> </div> <p><tt class="docutils literal"><span class="pre">type</span></tt></p> <blockquote> <div><p><tt class="docutils literal"><span class="pre">types</span></tt> で指定した値。</p> </div></blockquote> <p><tt class="docutils literal"><span class="pre">candidate</span></tt></p> <blockquote> <div><p>補完・補正・提案候補。</p> </div></blockquote> <p><tt class="docutils literal"><span class="pre">score</span> <span class="pre">of</span> <span class="pre">candidate</span></tt></p> <blockquote> <div><p>対応する <tt class="docutils literal"><span class="pre">candidate</span></tt> のスコアです。スコアが高いほど補完・補正・提案候補として有力という意味になります。デフォルトでは候補は <tt class="docutils literal"><span class="pre">score</span> <span class="pre">of</span> <span class="pre">candidate</span></tt> の降順でソートされています。</p> </div></blockquote> </div> </div> <div class="section" id="example"> <h2>8.3.25.6. 例<a class="headerlink" href="#example" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>以下は補完用の学習データです。</p> <p>実行例:</p> <div class="highlight-none"><div class="highlight"><pre>load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "1", "time": 1312950803.86057, "item": "e"}, {"sequence": "1", "time": 1312950803.96857, "item": "en"}, {"sequence": "1", "time": 1312950804.26057, "item": "eng"}, {"sequence": "1", "time": 1312950804.56057, "item": "engi"}, {"sequence": "1", "time": 1312950804.76057, "item": "engin"}, {"sequence": "1", "time": 1312950805.86057, "item": "engine", "type": "submit"} ] # [[0, 1337566253.89858, 0.000355720520019531], 6] </pre></div> </div> <p>以下は補正用の学習データです。</p> <p>実行例:</p> <div class="highlight-none"><div class="highlight"><pre>load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "2", "time": 1312950803.86057, "item": "s"}, {"sequence": "2", "time": 1312950803.96857, "item": "sa"}, {"sequence": "2", "time": 1312950804.26057, "item": "sae"}, {"sequence": "2", "time": 1312950804.56057, "item": "saer"}, {"sequence": "2", "time": 1312950804.76057, "item": "saerc"}, {"sequence": "2", "time": 1312950805.76057, "item": "saerch", "type": "submit"}, {"sequence": "2", "time": 1312950809.76057, "item": "serch"}, {"sequence": "2", "time": 1312950810.86057, "item": "search", "type": "submit"} ] # [[0, 1337566253.89858, 0.000355720520019531], 8] </pre></div> </div> <p>以下は提案用の学習データです。</p> <p>実行例:</p> <div class="highlight-none"><div class="highlight"><pre>load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "3", "time": 1312950803.86057, "item": "search engine", "type": "submit"}, {"sequence": "3", "time": 1312950808.86057, "item": "web search realtime", "type": "submit"} ] # [[0, 1337566253.89858, 0.000355720520019531], 2] </pre></div> </div> <p>以下は補完例です。</p> <p>実行例:</p> <div class="highlight-none"><div class="highlight"><pre>suggest --table item_query --column kana --types complete --frequency_threshold 1 --query en # [ # [ # 0, # 1337566253.89858, # 0.000355720520019531 # ], # { # "complete": [ # [ # 1 # ], # [ # [ # "_key", # "ShortText" # ], # [ # "_score", # "Int32" # ] # ], # [ # "engine", # 1 # ] # ] # } # ] </pre></div> </div> <p>以下は補正例です。</p> <p>実行例:</p> <div class="highlight-none"><div class="highlight"><pre>suggest --table item_query --column kana --types correct --frequency_threshold 1 --query saerch # [ # [ # 0, # 1337566253.89858, # 0.000355720520019531 # ], # { # "correct": [ # [ # 1 # ], # [ # [ # "_key", # "ShortText" # ], # [ # "_score", # "Int32" # ] # ], # [ # "search", # 1 # ] # ] # } # ] </pre></div> </div> <p>以下は提案例です。</p> <p>実行例:</p> <div class="highlight-none"><div class="highlight"><pre>suggest --table item_query --column kana --types suggest --frequency_threshold 1 --query search # [ # [ # 0, # 1337566253.89858, # 0.000355720520019531 # ], # { # "suggest": [ # [ # 2 # ], # [ # [ # "_key", # "ShortText" # ], # [ # "_score", # "Int32" # ] # ], # [ # "search engine", # 1 # ], # [ # "web search realtime", # 1 # ] # ] # } # ] </pre></div> </div> <p>以下は補完・補正・提案を混ぜた例です。</p> <p>実行例:</p> <div class="highlight-none"><div class="highlight"><pre>suggest --table item_query --column kana --types complete|correct|suggest --frequency_threshold 1 --query search # [ # [ # 0, # 1337566253.89858, # 0.000355720520019531 # ], # { # "suggest": [ # [ # 2 # ], # [ # [ # "_key", # "ShortText" # ], # [ # "_score", # "Int32" # ] # ], # [ # "search engine", # 1 # ], # [ # "web search realtime", # 1 # ] # ], # "complete": [ # [ # 2 # ], # [ # [ # "_key", # "ShortText" # ], # [ # "_score", # "Int32" # ] # ], # [ # "search", # 2 # ], # [ # "search engine", # 2 # ] # ], # "correct": [ # [ # 1 # ], # [ # [ # "_key", # "ShortText" # ], # [ # "_score", # "Int32" # ] # ], # [ # "search", # 2 # ] # ] # } # ] </pre></div> </div> </div> <div class="section" id="see-also"> <h2>8.3.25.7. 参考<a class="headerlink" href="#see-also" title="このヘッドラインへのパーマリンク">¶</a></h2> <ul class="simple"> <li><a class="reference internal" href="../../suggest.html"><em>サジェスト</em></a></li> <li><a class="reference internal" href="../executables/groonga-suggest-create-dataset.html"><em>groonga-suggest-create-dataset</em></a></li> </ul> </div> </div> </div> </div> </div> <div class="sphinxsidebar"> <div class="sphinxsidebarwrapper"> <h3><a href="../../index.html">目次</a></h3> <ul> <li><a class="reference internal" href="#">8.3.25. suggest</a><ul> <li><a class="reference internal" href="#name">8.3.25.1. 名前</a></li> <li><a class="reference internal" href="#synopsis">8.3.25.2. 書式</a></li> <li><a class="reference internal" href="#description">8.3.25.3. 説明</a></li> <li><a class="reference internal" href="#options">8.3.25.4. オプション</a></li> <li><a class="reference internal" href="#return-value">8.3.25.5. 戻り値</a><ul> <li><a class="reference internal" href="#json-format">8.3.25.5.1. JSON形式</a></li> </ul> </li> <li><a class="reference internal" href="#example">8.3.25.6. 例</a></li> <li><a class="reference internal" href="#see-also">8.3.25.7. 参考</a></li> </ul> </li> </ul> <h4>前のトピックへ</h4> <p class="topless"><a href="status.html" title="前の章へ">8.3.24. status</a></p> <h4>次のトピックへ</h4> <p class="topless"><a href="table_create.html" title="次の章へ">8.3.26. <tt class="docutils literal"><span class="pre">table_create</span></tt></a></p> <h3>このページ</h3> <ul class="this-page-menu"> <li><a href="../../_sources/reference/commands/suggest.txt" rel="nofollow">ソースコードを表示</a></li> </ul> <div id="searchbox" style="display: none"> <h3>クイック検索</h3> <form class="search" action="../../search.html" method="get"> <input type="text" name="q" /> <input type="submit" value="検索" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> モジュール、クラス、または関数名を入力してください </p> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related"> <h3>ナビゲーション</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../../genindex.html" title="総合索引" >索引</a></li> <li class="right" > <a href="table_create.html" title="8.3.26. table_create" >次へ</a> |</li> <li class="right" > <a href="status.html" title="8.3.24. status" >前へ</a> |</li> <li><a href="../../index.html">groonga v3.0.5ドキュメント</a> »</li> <li><a href="../../reference.html" >8. リファレンスマニュアル</a> »</li> <li><a href="../command.html" >8.3. コマンド</a> »</li> </ul> </div> <div class="footer"> © Copyright 2009-2013, Brazil, Inc. </div> </body> </html>