# -*- po -*-
# Japanese translations for 1.2.1 package.
# Copyright (C) 2009-2011, Brazil, Inc
# This file is distributed under the same license as the groonga package.
# Kouhei Sutou <kou@clear-code.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: 1.2.1\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2014-08-14 22:59+0900\n"
"Last-Translator: Kouhei Sutou <kou@clear-code.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

msgid "Troubleshooting"
msgstr "トラブルシューティング"

msgid "同じ検索キーワードなのに全文検索結果が異なる"
msgstr ""

msgid ""
"同じ検索キーワードでも一緒に指定するクエリによっては全文検索の結果が異なるこ"
"とがあります。ここでは、その原因と対策方法を説明します。"
msgstr ""

msgid "例"
msgstr ""

msgid "まず、実際に検索結果が異なる例を説明します。"
msgstr ""

msgid ""
"DDLは以下の通りです。BlogsテーブルのbodyカラムをTokenMecabトークナイザーを"
"使ってトークナイズしてからインデックスを作成しています。::"
msgstr ""

msgid "テスト用のデータは1件だけ投入します。::"
msgstr ""

msgid "まず、全文検索のみで検索します。この場合ヒットします。::"
msgstr ""

msgid ""
"続いて、範囲指定と全文検索を組み合わせて検索します（1285858800は2010/10/1 "
"0:0:0の秒表記）。この場合もヒットします。::"
msgstr ""

msgid ""
"最後に、範囲指定と全文検索の順番を入れ替えて検索します。個々の条件は同じです"
"が、この場合はヒットしません。::"
msgstr ""

msgid "どうしてこのような挙動になるかを説明します。"
msgstr ""

msgid "原因"
msgstr ""

msgid ""
"このような挙動になるのは全文検索時に複数の検索の挙動を使い分けているからで"
"す。ここでは簡単に説明するので、詳細は :doc:`/spec/search` を参照してくださ"
"い。"
msgstr ""

msgid "検索の挙動には以下の3種類があります。"
msgstr ""

msgid "完全一致検索"
msgstr ""

msgid "非わかち書き検索"
msgstr ""

msgid "部分一致検索"
msgstr ""

msgid ""
"Groongaは基本的に完全一致検索のみを行います。上記の例では「東京都民に深刻なダ"
"メージを与えました。」を「東京都」というクエリで検索していますが、TokenMecab"
"トークナイザーを使っている場合はこのクエリはマッチしません。"
msgstr ""

msgid "検索対象の「東京都民に深刻なダメージを与えました。」は"
msgstr ""

msgid "東京 / 都民 / に / 深刻 / な / ダメージ / を / 与え / まし / た / 。"
msgstr ""

msgid "とトークナイズされますが、クエリの「東京都」は"
msgstr ""

msgid "東京 / 都"
msgstr ""

msgid "とトークナイズされるため、完全一致しません。"
msgstr ""

msgid ""
"Groongaは完全一致検索した結果のヒット件数が所定の閾値を超えない場合に限り、非"
"わかち書き検索を行い、それでもヒット件数が閾値を超えない場合は部分一致検索を"
"行います（閾値は1がデフォルト値となっています）。このケースのデータは部分一致"
"検索ではヒットするので、「東京都」クエリのみを指定するとヒットします。"
msgstr ""

msgid ""
"しかし、以下のように全文検索前にすでに閾値が越えている場合（「updated_at < "
"1285858800」で1件ヒットし、閾値を越える）は、たとえ完全一致検索で1件もヒット"
"しない場合でも部分一致検索などを行いません。::"
msgstr ""

msgid ""
"そのため、条件の順序を変えると検索結果が変わるという状況が発生します。以下"
"で、この情報を回避する方法を2種類紹介しますが、それぞれトレードオフとなる条件"
"があるので採用するかどうかを十分検討してください。"
msgstr ""

msgid "対策方法1: トークナイザーを変更する"
msgstr ""

msgid ""
"TokenMecabトークナイザーは事前に準備した辞書を用いてトークナイズするため、再"
"現率よりも適合率を重視したトークナイザーと言えます。一方、TokenBigramなど、N-"
"gram系のトークナイザーは適合率を重視したトークナイザーと言えます。例えば、"
"TokenMecabの場合「東京都」で「京都」に完全一致することはありませんが、"
"TokenBigramでは完全一致します。一方、TokenMecabでは「東京都民」に完全一致しま"
"せんが、TokenBigramでは完全一致します。"
msgstr ""

msgid ""
"このようにN-gram系のトークナイザーを指定することにより再現率をあげることがで"
"きますが、適合率が下がり検索ノイズが含まれる可能性が高くなります。この度合い"
"を調整するためには :doc:`/reference/commands/select` のmatch_columnsで使用す"
"る索引毎に重み付けを指定します。"
msgstr ""

msgid ""
"ここでも、前述の例を使って具体例を示します。まず、TokenBigramを用いた索引を追"
"加します。::"
msgstr ""

msgid ""
"この状態でも以前はマッチしなかったレコードがヒットするようになります。::"
msgstr ""

msgid ""
"しかし、N-gram系のトークナイザーの方がTokenMecabトークナイザーよりも語のヒッ"
"ト数が多いため、N-gram系のヒットスコアの方が重く扱われてしまいます。N-gram系"
"のトークナイザーの方がTokenMecabトークナイザーよりも適合率の低い場合が多いの"
"で、このままでは検索ノイズが上位に表示される可能性が高くなります。"
msgstr ""

msgid ""
"そこで、TokenMecabトークナイザーを使って作った索引の方をTokenBigramトークナイ"
"ザーを使って作った索引よりも重視するように重み付けを指定します。これは、"
"match_columnsオプションで指定できます。::"
msgstr ""

msgid ""
"この場合はスコアが11になっています。内訳は、Terms.blog_body索引（TokenMecab"
"トークナイザーを使用）でマッチしたので10、Bigram.blog_body索引（TokenBigram"
"トークナイザーを使用）でマッチしたので3、これらを合計して13になっています。こ"
"のようにTokenMecabトークナイザーの重みを高くすることにより、検索ノイズが上位"
"にくることを抑えつつ再現率を上げることができます。"
msgstr ""

msgid ""
"この例は日本語だったのでTokenBigramトークナイザーでよかったのですが、アルファ"
"ベットの場合はTokenBigramSplitSymbolAlphaトークナイザーなども利用する必要があ"
"ります。例えば、「楽しいbilliard」はTokenBigramトークナイザーでは"
msgstr ""

msgid "楽し / しい / billiard"
msgstr ""

msgid ""
"となり、「bill」では完全一致しません。一方、TokenBigramSplitSymbolAlphaトーク"
"ナイザーを使うと"
msgstr ""

msgid "楽し / しい / いb / bi / il / ll / li / ia / ar / rd / d"
msgstr ""

msgid "となり、「bill」でも完全一致します。"
msgstr ""

msgid ""
"TokenBigramSplitSymbolAlphaトークナイザーを使う場合も重み付けを考慮する必要が"
"あることはかわりありません。"
msgstr ""

msgid "利用できるバイグラム系のトークナイザーの一覧は以下の通りです。"
msgstr ""

msgid ""
"TokenBigram: バイグラムでトークナイズする。連続する記号・アルファベット・数字"
"は一語として扱う。"
msgstr ""

msgid ""
"TokenBigramSplitSymbol: 記号もバイグラムでトークナイズする。連続するアルファ"
"ベット・数字は一語として扱う。"
msgstr ""

msgid ""
"TokenBigramSplitSymbolAlpha: 記号とアルファベットもバイグラムでトークナイズす"
"る。連続する数字は一語として扱う。"
msgstr ""

msgid ""
"TokenBigramSplitSymbolAlphaDigit: 記号・アルファベット・数字もバイグラムで"
"トークナイズする。"
msgstr ""

msgid ""
"TokenBigramIgnoreBlank: バイグラムでトークナイズする。連続する記号・アルファ"
"ベット・数字は一語として扱う。空白は無視する。"
msgstr ""

msgid ""
"TokenBigramIgnoreBlankSplitSymbol: 記号もバイグラムでトークナイズする。連続す"
"るアルファベット・数字は一語として扱う。空白は無視する。"
msgstr ""

msgid ""
"TokenBigramIgnoreBlankSplitSymbolAlpha: 記号とアルファベットもバイグラムで"
"トークナイズする。連続する数字は一語として扱う。空白は無視する。"
msgstr ""

msgid ""
"TokenBigramIgnoreBlankSplitSymbolAlphaDigit: 記号・アルファベット・数字もバイ"
"グラムでトークナイズする。空白は無視する。"
msgstr ""

msgid "対策方法2: 閾値をあげる"
msgstr ""

msgid ""
"非わかち書き検索・部分一致検索を利用するかどうかの閾値は--with-match-"
"escalation-threshold configureオプションで変更することができます。以下のよう"
"に指定すると、100件以下のヒット数であれば、たとえ完全一致検索でヒットしても、"
"非わかち書き検索・部分一致検索を行います。::"
msgstr ""

msgid ""
"この場合も対策方法1同様、検索ノイズが上位に現れる可能性が高くなることに注意し"
"てください。検索ノイズが多くなった場合は指定する値を低くする必要があります。"
msgstr ""

msgid "How to analyze error messages"
msgstr "エラーメッセージの解析方法"

msgid "This section describes how to analyze Groonga error messages."
msgstr ""
"Groongaは様々なエラーメッセージを出力しますが、出力されたエラーメッセージ を"
"もとに、原因を解析する方法はいままで、明文化していませんでした。 ここでは、エ"
"ラーメッセージごとの解析方法を記載します。"

msgid "How to analyze socket errors"
msgstr "ソケットエラーの解析方法"

msgid "This subsection describes how to analyze socket errors with an example."
msgstr ""
"ここでは、Groongaで発生するソケットエラーの解析方法について説明します。"

msgid "Example"
msgstr "例"

msgid ""
"The following is an example of an error message repoted by Groonga, where "
"xxxxx is an arbitrary number::"
msgstr ""
"Groongaのエラーログで以下のようなエラーログがあります。(xxxxxには任意の数字が"
"入ります。)::"

msgid "How to analyze"
msgstr "解析方法"

msgid ""
"First, grep Groonga source files for \"SOERR\" that is the name of a macro "
"for socket errors."
msgstr ""
"まず、ソケットエラーを扱うマクロである、SOERR というキーワードでGroongaのソー"
"スコードをgrepします。"

msgid ""
"Then, extract SOERRs whose argument contains \"accept\" from the grep output "
"and you will find the following SOERRs::"
msgstr ""
"次に見つかったSOERRの引数にacceptが入っているSOERRをさがします。 すると次の"
"SOERRが見つかります。::"

msgid ""
"It is clear that the above error message is associated with the last line "
"because the error message contains only \"accept\"."
msgstr ""
"ログに出ているのはacceptのみなので、最後の行が例で出力されたエラーメッセージ"
"に該当するとわかります。"

msgid "The source code around the line is as follows::"
msgstr "該当するエラー出力の周辺のコードを見ると以下のようになっています。::"

msgid ""
"From the above source code, you can confirm that the error occurred due to "
"accept. Let's dig into the cause."
msgstr ""
"上記のコードから、acceptを実行してエラーが発生したことが確認できます。 次は、"
"acceptが失敗した原因を追っていきます。"

msgid "The error message provides hints for investigation::"
msgstr "acceptが失敗した理由は、::"

msgid ""
"10055 is a Windows socket error code and \"no buffer\" is a message by "
"Groonga given in SOERR."
msgstr ""
"から追うことができます。 10055はWindowsのソケットエラーコードを表しています。"
"また、no bufferはSOERRマクロ内でGroongaが用意しているメッセージです。 Windows"
"のシステムエラーコードから調査しても良いですし、Groongaが出力しているエラー"
"メッセージから調査しても良いです。"

msgid "Windows socket error codes are listed in the following page::"
msgstr "Windowsのシステムエラーコードは以下のページに一覧があります。::"

msgid "10055 is assigned to WSAENOBUFS and its description is as follows::"
msgstr ""
"システムエラーコードまたは、エラーメッセージから調査すると、acceptが失敗した"
"理由は、WSAENOBUFSであることがわかります。さらに、WSAENOBUFSが発生する原因を"
"調査するとWSAENOBUFSが発生する原因は以下であることがわかります。::"

msgid ""
"From the above description, you can narrow down the causes. The possible "
"causes are the lack of memory and too many connections. Finally, determine "
"which one is appropriate for the situation when the error occurred."
msgstr ""
"上記のメッセージから、acceptが失敗する原因は、メモリー不足または、接続数が多"
"すぎる場合であることがわかりました。 あとは、エラーメッセージが出た際の状況か"
"ら、接続数が多かったのか、メモリ不足だったのかを判断します。"

msgid "How to avoid mmap Cannot allocate memory error"
msgstr "mmap Cannot allocate memoryエラーを回避するには"

msgid "There is a case following mmap error in log file:"
msgstr "ログファイルに以下のようなmmapエラーが存在する場合があります。::"

msgid ""
"2013-06-04 08:19:34.835218|A|4e86e700|mmap(4194304,551,432017408)=Cannot "
"allocate memory <13036498944>"
msgstr ""

msgid ""
"Note that <13036498944> means total size of mmap (almost 12GB) in this case."
msgstr "<13036498944> はこの場合mmapの合計サイズ(約12GB)です。"

msgid "Solution"
msgstr "対策方法"

msgid "So you need to confirm following point of views."
msgstr "以下の観点を確認する必要があります。"

msgid "Are there enough free memory?"
msgstr "十分なメモリの空きが存在するか？"

msgid "Are maximum number of mappings exceeded?"
msgstr "マッピング最大数を超過していないか？"

msgid "To check there are enough free memory, you can use vmstat command."
msgstr ""
"十分な空きメモリがあるかを調べるために、vmstat コマンドを使うことができます。"

msgid ""
"To check whether maximum number of mappings are exceeded, you can "
"investigate the value of vm.max_map_count."
msgstr ""
"最大マッピング数を超過しているかどうかを確認するために、 vm.max_map_count の"
"値を調べることができます。"

msgid ""
"If this issue is fixed by modifying the value of vm.max_map_count, it's "
"exactly the reason."
msgstr ""
"もしこの問題が vm.max_map_count の値を調整することで解決するなら、これが原因"
"です。"

msgid ""
"As groonga allocates memory chunks each 256KB, you can estimate the size of "
"database you can handle by following formula:"
msgstr ""
"groongaはメモリを256KBごとに確保するので、扱えるデータベースのサイズを以下の"
"式で見積ることができます:"

msgid "(database size) = vm.max_map_count * (memory chunks)"
msgstr ""

msgid ""
"If you want to handle over 16GB groonga database, you must specify at least "
"65536 as the value of vm.max_map_count:"
msgstr ""
"16GBを超えるデータベースを扱うには、少くとも65536を vm.max_map_count の値とし"
"て設定しないといけません。"

msgid "database size (16GB) = vm.max_map_count (65536) * memory chunks (256KB)"
msgstr ""

msgid ""
"You can modify vm.max_map_count temporary by sudo sysctl -w vm."
"max_map_count=65536."
msgstr ""
"sudo sysctl -w vm.max_map_count=65536 で一時的に vm.max_map_count を調整する"
"ことができます。"

msgid ""
"Then save the configuration value to ``/etc/sysctl.conf`` or ``/etc/sysctl.d/"
"*.conf``."
msgstr ""
"その後、設定値を ``/etc/sysctl.conf`` もしくは ``/etc/sysctl.d/*.conf`` へと"
"保存します。"

msgid ""
"See :doc:`/reference/tuning` documentation about tuning related parameters."
msgstr ""
"チューニング関連のパラメータについては、 :doc:`/reference/tuning` のドキュメ"
"ントを参照してください。"
