1.2.1 - en to ja translation catalogue (171 entries)

en: Execution example::
ja: 実行例::

en: Query syntax
ja: クエリー構文

en: Query syntax is a syntax to specify search condition for common Web search form. It is similar to the syntax of Google's search form. For example, ``word1 word2`` means that groonga searches records that contain both ``word1`` and ``word2``. ``word1 OR word2`` means that groonga searches records that contain either ``word1`` or ``word2``.
ja: クエリー構文は一般的なWebの検索フォームで検索条件を指定するための構文です。Googleの検索フォームで使われている構文に似ています。例えば、 ``word1 word2`` は ``word1`` と ``word2`` の両方の単語を含んだレコードを検索するという意味です。 ``word1 OR word2`` は ``word1`` または ``word2`` のどちらかの単語を含んだレコードを検索します。

en: Query syntax consists of :ref:`query-syntax-conditional-expression` , :ref:`query-syntax-combined-expression` and :ref:`query-syntax-assignment-expression`. Normally :ref:`query-syntax-assignment-expression` can be ignored. Because :ref:`query-syntax-assignment-expression` is disabled in the :ref:`select-query` option of :doc:`/reference/commands/select`. You can use it by specifying ``ALLOW_UPDATE`` to the :ref:`select-query-flags` option.
ja: クエリー構文は :ref:`query-syntax-conditional-expression` 、 :ref:`query-syntax-combined-expression` 、 :ref:`query-syntax-assignment-expression` で構成されます。通常 :ref:`query-syntax-assignment-expression` は無視できます。なぜなら :doc:`/reference/commands/select` の :ref:`select-query` オプションは :ref:`query-syntax-assignment-expression` を無効にしているからです。 :ref:`select-query-flags` オプションに ``ALLOW_UPDATE`` を指定すると有効にできます。

en: Sample data
ja: サンプルデータ

en: There is a table, ``Entries``, for blog entries. An entry has title, content and the number of likes for the entry. Title is key of ``Entries``. Content is value of ``Entries.content`` column. The number of likes is value of ``Entries.n_likes`` column.
ja: ブログエントリ用の ``Entries`` テーブルがあります。各エントリはタイトルと内容と「いいね！」数を持っています。タイトルは ``Entries`` のキーとします。内容は ``Entries.content`` カラムの値とします。「いいね！」数は ``Entries.n_likes`` カラムの値とします。

en: ``Entries._key`` column and ``Entries.content`` column are indexed using ``TokenBigram`` tokenizer. So both ``Entries._key`` and ``Entries.content`` are fulltext search ready.
ja: ``Entries._key`` カラムと ``Entries.content`` カラムには ``TokenBigram`` トークナイザーを使ったインデックスを作成します。そのため、 ``Entries._key`` と ``Entries.content`` は両方とも全文検索できます。

en: OK. The schema and data for examples are ready.
ja: これで例を示すためのスキーマとデータの準備ができました。

en: Escape
ja: エスケープ

en: There are special characters in query syntax. To use a special character as itself, it should be escaped by prepending ``\``. For example, ``"`` is a special character. It is escaped as ``\"``.
ja: クエリー構文には特別な文字があります。特別な文字それ自体を使うためには文字の前に ``\`` をつけてエスケープしなければいけません。例えば、 ``"`` は特別な文字です。これは ``\"`` というようにエスケープします。

en: Here is a special character list:
ja: 以下が特別な文字のリストです:

en: ``[space]`` (escaped as ``[backslash][space]``) (You should substitute ``[space]`` with a white space character that is 0x20 in ASCII and ``[backslash]`` with ``\\``.)
ja: ``[space]`` （ ``[backslash][space]`` とエスケープする。）（ ``[space]`` をASCIIで言えば0x20の空白文字に置き換えて、 ``[backslash]`` を ``\\`` に置き換えてください。）

en: ``"`` (escaped as ``\"``)
ja: ``"`` （ ``\"`` とエスケープする。）

en: ``(`` (escaped as ``\(``)
ja: ``(`` （ ``\(`` とエスケープする。）

en: ``)`` (escaped as ``\)``)
ja: ``)`` （ ``\)`` とエスケープする。）

en: ``\`` (escaped as ``\\``)
ja: ``\`` （ ``\\`` とエスケープする。）

en: You can use quote instead of escape special characters except ``\`` (backslash). You need to use backslash for escaping backslash like ``\\`` in quote.
ja: ``\`` （バックスラッシュ）以外はエスケープする代わりにクォートすることもできます。クォート中でバックスラッシュをエスケープするときは ``\\`` というようにバックスラッシュを使います。

en: Quote syntax is ``"..."``. You need escape ``"`` as ``\"`` in ``"..."`` quote syntax. For example, ``You say "Hello Alice!"`` can be quoted ``"You say \"Hello Alice!\""``.
ja: クォート構文は ``"..."`` です。 ``"..."`` クォート構文中では ``"`` を ``\"`` にエスケープする必要があります。例えば、 ``You say "Hello Alice!"`` は ``"You say \"Hello Alice!\""`` とクォートします。

en: In addition ``'...'`` isn't  available in query syntax.
ja: なお、 ``'...'`` はクエリー構文では使えません。

en: There is an important point which you have to care. The ``\`` (backslash) character is interpreted by command line shell. So if you want to search ``(`` itself for example, you need to escape twice (``\\(``) in command line shell.  The command line shell interprets ``\\(`` as ``\(``, then pass such a literal to Groonga. Groonga regards ``\(`` as ``(``, then search ``(`` itself from database. If you can't do intended search by Groonga, confirm whether special character is escaped properly.
ja: 注意しなければならない大事な点があります。``\`` (バックスラッシュ)はコマンドラインシェルが解釈します。それゆえ例えば ``(`` それ自体を検索したいならシェルでは二重にエスケープ (``\\(``) しなければなりません。コマンドラインシェルは ``\\(`` を ``\(`` と解釈してからGroongaに渡します。Groongaは ``\(`` を ``(`` とみなし、``(`` 自体をデータベースから検索します。もし意図した検索がGroongaで行えないなら、特別な文字を正しくエスケープしているか確認します。

en: Conditional expression
ja: 条件式

en: Here is available conditional expression list.
ja: 以下は利用可能な条件式の一覧です。

en: Full text search condition
ja: 全文検索条件

en: Its syntax is ``keyword``.
ja: 構文は ``keyword`` です。

en: ``Full text search condition`` specifies a full text search condition against the default match columns. Match columns are full text search target columns.
ja: ``全文検索条件`` はデフォルトのマッチカラムに対して全文検索するという条件を指定します。マッチカラムとは全文検索対象のカラムのことです。

en: You should specify the default match columns for full text search. They can be specified by ``--match_columns`` option of :doc:`/reference/commands/select`. If you don't specify the default match columns, this conditional expression fails.
ja: 全文検索に使うデフォルトのマッチカラムを指定する必要があります。マッチカラムは :doc:`/reference//commands/select` の ``--match_columns`` オプションで指定します。デフォルトのマッチカラムを指定していない場合、この条件式は失敗します。

en: This conditional expression does full text search with ``keyword``. ``keyword`` should not contain any spaces. If ``keyword`` contains a space such as ``search keyword``, it means two full text search conditions; ``search`` and ``keyword``. If you want to specifies a keyword that contains one or more spaces, you can use ``phrase search condition`` that is described below.
ja: この条件式は ``keyword`` で全文検索をします。 ``keyword`` には空白を含めることはできません。 ``search keyword`` というように空白を含んでいる場合は、 ``search`` と ``keyword`` という2つの全文検索条件を指定したことになります。もし、キーワードに空白を含めたい場合は以下で説明する ``フレーズ検索条件`` を使ってください。

en: Here is a simple example:
ja: 以下は簡単な使用例です。

en: The expression matches records that contain a word ``fast`` in ``content`` column value.
ja: この式は ``content`` カラムの値に ``fast`` という単語を含んでいるレコードにマッチします。

en: ``content`` column is the default match column.
ja: ``content`` カラムはデフォルトのマッチカラムです。

en: Phrase search condition
ja: フレーズ検索条件

en: Its syntax is ``"search keyword"``.
ja: 構文は ``"search keyword"`` です。

en: ``Phrase search condition`` specifies a phrase search condition against the default match columns.
ja: ``フレーズ検索条件`` はデフォルトのマッチカラムに対してフレーズ検索するという条件を指定します。

en: This conditional expression does phrase search with ``search keyword``. Phrase search searches records that contain ``search`` and ``keyword`` and those terms are appeared in the same order and adjacent. Thus, ``Put a search keyword in the form`` is matched but ``Search by the keyword`` and ``There is a keyword. Search by it!`` aren't matched.
ja: この条件式は ``search keyword`` でフレーズ検索をします。フレーズ検索は ``search`` と ``keyword`` がこの順番で隣接して含まれているレコードにマッチします。つまり、 ``Put a search keyword in the form`` にはマッチしますが、 ``Search by the keyword`` や ``There is a keyword. Search by it!`` にはマッチしません。

en: The expression matches records that contain a phrase ``I started`` in ``content`` column value. ``I also started`` isn't matched because ``I`` and ``started`` aren't adjacent.
ja: この式は ``content`` カラムの値に ``I started`` というフレーズを含んでいるレコードにマッチします。 ``I also started`` にはマッチしません。これは ``I`` と ``started`` が隣接していないからです。

en: Full text search condition (with explicit match column)
ja: 全文検索条件（マッチカラム指定あり）

en: Its syntax is ``column:@keyword``.
ja: 構文は ``column:@keyword`` です。

en: It's similar to ``full text search condition`` but it doesn't require the default match columns. You need to specify match column for the full text search condition by ``column:`` instead of ``--match_columns`` option of :doc:`/reference/commands/select`.
ja: これは ``全文検索条件`` と似ていますが、デフォルトのマッチカラムは必要ありません。全文検索用のマッチカラムは :doc:`/reference/commands/select` の ``--match_columns`` オプションではなく ``column:`` で指定します。

en: This condtional expression is useful when you want to use two or more full text search against different columns. The default match columns specified by ``--match_columns`` option can't be specified multiple times. You need to specify the second match column by this conditional expression.
ja: この条件式は異なったカラムに対して複数の全文検索をしたい場合に便利です。 ``--match_columns`` オプションで指定するデフォルトのマッチカラムは複数回指定することができません。2つめのマッチカラムを指定するためにはこの条件式を使う必要があります。

en: The different between ``full text search condition`` and ``full text search condition (with explicit match column)`` is whether advanced match columns are supported or not. ``Full text search condition`` supports advanced match columns but ``full text search condition (with explicit match column)`` isn't supported. Advanced match columns has the following features:
ja: ``全文検索条件`` と ``全文検索条件（マッチカラム指定あり）`` の違いは高度なマッチカラムをサポートしているかどうかです。 ``全文検索条件`` は高度なマッチカラムをサポートしていますが、 ``全文検索条件（マッチカラム指定あり）`` はサポートしていません。高度なマッチカラムには以下の機能があります:

en: Weight is supported.
ja: 重みをサポートしている。

en: Using multiple columns are supported.
ja: 複数のカラムを指定できる。

en: Using index column as a match column is supported.
ja: マッチカラムとしてインデックスカラムを使える。

en: See description of ``--match_columns`` option of :doc:`/reference/commands/select` about them.
ja: これらについては :doc:`/reference/commands/select` の ``--match_columns`` オプションを参照してください。

en: Phrase search condition (with explicit match column)
ja: フレーズ検索条件（マッチカラム指定あり）

en: Its syntax is ``column:@"search keyword"``.
ja: 構文は ``column:@"search keyword"`` です。

en: It's similar to ``phrase search condition`` but it doesn't require the default match columns. You need to specify match column for the phrase search condition by ``column:`` instead of ``--match_columns`` option of :doc:`/reference/commands/select`.
ja: これは ``フレーズ検索条件`` に似ていますが、デフォルトのマッチカラムは必要ありません。フレーズ検索用のマッチカラムは :doc:`/reference/commands/select` の ``--match_columns`` オプションではなく ``column:`` で指定します。

en: The different between ``phrase search condition`` and ``phrase search condition (with explicit match column)`` is similar to between ``full text search condition`` and ``full text search condition (with explicit match column)``. ``Phrase search condition`` supports advanced match columns but ``phrase search condition (with explicit match column)`` isn't supported. See description of ``full text search condition (with explicit match column)`` about advanced match columns.
ja: ``フレーズ検索条件`` と ``フレーズ検索条件（マッチカラム指定あり）`` は ``全文検索条件`` と ``全文検索条件（マッチカラム指定あり）`` の関係と似ています。 ``フレーズ検索条件`` は高度なマッチカラムをサポートしていますが、 ``フレーズ検索条件（マッチカラム指定あり）`` はサポートしていません。高度なマッチカラムについては ``全文検索条件（マッチカラム指定あり）`` を参照してください。

en: Prefix search condition
ja: 前方一致検索条件

en: Its syntax is ``column:^value`` or ``value*``.
ja: 構文は ``column:^value`` または ``value*`` です。

en: This conditional expression does prefix search with ``value``. Prefix search searches records that contain a word that starts with ``value``.
ja: この条件式は ``value`` で前方一致検索をします。前方一致検索は ``value`` で始まる単語を含むレコードを検索します。

en: You can use fast prefix search against a column. The column must be indexed and index table must be patricia trie table (``TABLE_PAT_KEY``) or double array trie table (``TABLE_DAT_KEY``). You can also use fast prefix search against ``_key`` pseudo column of patricia trie table or double array trie table. You don't need to index ``_key``.
ja: カラムの値を高速に前方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルをパトリシアトライ（ ``TABLE_PAT_KEY`` ）またはダブル配列トライ（ ``TABLE_DAT_KEY`` ）にしなければいけません。あるいは、パトリシアトライテーブルまたはダブル配列テーブルの ``_key`` も高速に前方一致検索できます。 ``_key`` にインデックスを作成する必要はありません。

en: Prefix search can be used with other table types but it causes all records scan. It's not problem for small records but it spends more time for large records.
ja: 他の種類のテーブルでも前方一致検索を使えますがレコード全件を処理します。レコード数が少ない場合には問題ありませんが、レコード数が多いと時間がかかります。

en: It doesn't require the default match columns such as ``full text search condition`` and ``phrase search condition``.
ja: ``全文検索条件`` や ``フレーズ検索条件`` と異なり、デフォルトのマッチカラムは必要ありません。

en: The expression matches records that contain a word that starts with ``Goo`` in ``_key`` pseudo column value. ``Good-bye Senna`` and ``Good-bye Tritonn`` are matched with the expression.
ja: この式は ``_key`` カラムの値が ``Goo`` で始まる単語を含むレコードにマッチします。この式には ``Good-bye Senna`` と ``Good-bye Tritonn`` がマッチします。

en: Suffix search condition
ja: 後方一致検索条件

en: Its syntax is ``column:$value``.
ja: 構文は ``column:$value`` です。

en: This conditional expression does suffix search with ``value``. Suffix search searches records that contain a word that ends with ``value``.
ja: この条件式は ``value`` で後方一致検索します。後方一致検索は ``value`` で終わる単語を含むレコードを検索します。

en: You can use fast suffix search against a column. The column must be indexed and index table must be patricia trie table (``TABLE_PAT_KEY``) with ``KEY_WITH_SIS`` flag. You can also use fast suffix search against ``_key`` pseudo column of patricia trie table (``TABLE_PAT_KEY``) with ``KEY_WITH_SIS`` flag. You don't need to index ``_key``. We recommended that you use index column based fast suffix search instead of ``_key`` based fast suffix search. ``_key`` based fast suffix search returns automatically registered substrings. (TODO: write document about suffix search and link to it from here.)
ja: カラムの値を高速に後方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルを ``KEY_WITH_SIS`` フラグ付きのパトリシアトライテーブル（ ``TABLE_PAT_KEY`` ）にしなければいけません。 ``KEY_WITH_SIS`` フラグ付きのパトリシアトライテーブル（ ``TABLE_PAT_KEY`` ）の ``_key`` 擬似カラムの値も高速に後方一致検索できます。 ``_key`` にはインデックスを作成する必要はありません。 ``_key`` ベースの高速な後方一致検索よりもカラムベースの高速な後方一致検索を使うことをおすすめします。 ``_key`` ベースの高速な後方一致検索は自動的に登録された部分文字列も返ってきます。（TODO: 後方一致検索に関するドキュメントを書いてここからリンクを張る。）

en: Fast suffix search can be used only for non-ASCII characters such as hiragana in Japanese. You cannot use fast suffix search for ASCII character.
ja: 高速な後方一致検索は日本語のひらがななど非ASCII文字にしか使えません。ASCII文字には高速な後方一致検索を使えません。

en: Suffix search can be used with other table types or patricia trie table without ``KEY_WITH_SIS`` flag but it causes all records scan. It's not problem for small records but it spends more time for large records.
ja: 後方一致検索は他の種類のテーブルもしくはパトリシアトライを ``KEY_WITH_SIS`` フラグなしで使用しているテーブルに対しても使えますが、レコード全件を処理します。レコード数が少ない場合には問題ありませんが、レコード数が多いと時間がかかります。

en: Here is a simple example. It uses fast suffix search for hiragana in Japanese that is one of non-ASCII characters.
ja: 簡単な例です。ASCII文字ではない文字である日本語のひらがなに対して高速な後方一致検索をしています。

en: The expression matches records that have value that ends with ``んが`` in ``content`` column value. ``ぐるんが`` and ``むるんが`` are matched with the expression.
ja: この式は ``content`` カラムの値が ``んが`` で終わるレコードにマッチします。この場合は ``ぐるんが`` と ``むるんが`` にマッチします。

en: Near search condition
ja: 近傍検索条件

en: Its syntax is ``*N"token1 token2 ..."``.
ja: 構文は ``*N"トークン1 トークン2 ..."`` です。

en: This conditional expression does near search with ``token1``, ``token2`` and ``...``. Near search searches records that contain the all specified tokens and there are at most 10 tokens between them. For example, ``*N"a b c"`` matches ``a 1 2 3 4 5 b 6 7 8 9 10 c`` but doesn't match ``a 1 2 3 4 5 b 6 7 8 9 10 11 c``:
ja: この条件式は ``トークン1`` と ``トークン2`` と ``...`` で近傍検索をします。近傍検索はすべての指定したトークンが最大でも10トークン以内に存在するレコードを検索します。たとえば、 ``*N"a b c"`` は ``a 1 2 3 4 5 b 6 7 8 9 10 c`` にマッチしますが ``a 1 2 3 4 5 b 6 7 8 9 10 11 c`` にはマッチしません。

en: Note that you must specify ``WITH_POSITION`` to an index column that is used for near search. If you don't specify ``WITH_POSITION``, near search can't count distance correctly.
ja: 近傍検索に使うインデックスカラムには ``WITH_POSITION`` を指定しなければいけないことに注意してください。もし ``WITH_POSITION`` を指定しないと近傍検索で距離を正しく数えられません。

en: You can customize the max interval of the given tokens (``10`` by default) by specifying a number after ``*N``. Here is an example that uses ``2`` as the max interval of the given tokens::
ja: ``*N`` のあとに数値を指定すると指定されたトークン群の最大距離（デフォルトは ``10`` ）をカスタマイズできます。以下は指定されたトークン群の最大距離を ``2`` にする例です。::

en: Here is an example to customize the max interval of the given tokens:
ja: 以下は指定されたトークン群の最大距離をカスタマイズする例です。

en: To be precious, you can specify a word instead of a token for near search. Because the passed text is tokenized before near search. A word consists of one or more tokens. If you specify a word, it may not work as you expected. For example, ``*N"a1b2c3d"`` matches both ``a 1 b 2 c 3 d`` and ``a b c d 1 2 3``:
ja: 正確に言うと、近傍検索の条件にトークンではなく単語を指定することもできます。なぜなら指定されたテキストは近傍検索前にトークナイズされるからです。1つの単語は1つ以上のトークンになります。単語を指定すると期待した通りに動かないかもしれません。たとえば、 ``*N"a1b2c3d"`` は ``a 1 b 2 c 3 d`` にも ``a b c d 1 2 3`` にもマッチします。

en: Because ``*N"a1b2c3d"`` equals to ``*N"a 1 b 2 c 3 d"``.
ja: なぜなら ``*N"a1b2c3d"`` は ``*N"a 1 b 2 c 3 d"`` と等しいからです。

en: If you want to specify words, :ref:`query-syntax-near-phrase-search-condition` is what you want.
ja: 単語を指定したい場合は :ref:`query-syntax-near-phrase-search-condition` を使ってください。

en: The max intervals of each token.
ja: 各トークン間の最大距離。

en: You can specify the max intervals of each token. The default is no limit. It means that all intervals of each token are valid as long as the max interval is satisfied.
ja: 各トークンの最大距離を指定することもできます。デフォルトでは制限はありません。これは全体の最大距離が満たされていれば各トークン間の距離はどれだけ開いていてもよいということです。

en: Here is an example that use ``2`` for the max interval of the first interval and ``4`` for the max interval of the second interval::
ja: 以下は最初のトークン間の最大距離として ``2`` 、2番目のトークン間の最大距離として ``4`` を使う例です。::

en: ``10`` is the max interval.
ja: ``10`` は最大距離です。

en: ``|`` is the separator of the max intervals of each token.
ja: 各トークン間の最大距離は ``|`` で区切ります。

en: This matches ``a x b x x x c``. But this doesn't match ``a x x b c``, ``a b x x x x c`` and so on because the former has ``3`` interval for the first interval that is larger than ``2`` and the latter has ``5`` interval for the second interval that is later than ``4``.
ja: これは ``a x b x x x c`` にマッチします。しかし、``a x x b c`` や ``a b x x x x c`` などにはマッチしません。なぜなら、前者は最初のトークン間の距離が ``3`` で ``2`` より大きいからです。後者は2番目のトークン間の距離が ``5`` で ``4`` より大きいです。

en: Here is an example that specifies the max intervals of each token:
ja: 以下はトークン間の最大距離をカスタマイズする例です。

en: You can omit one or more intervals. Omitted intervals are treated as ``-1``. It means that ``*N11,5`` equals ``*N11,5|-1``. ``-1`` means that no limit.
ja: 1つ以上のトークン間の最大距離の指定を省略することができます。省略されたトークン間の最大距離は ``-1`` として処理されます。これは ``*N11,5`` と ``*N11,5|-1`` は同じだということです。 ``-1`` は最大距離に制限がないという意味です。

en: Here is an example that omits an interval:
ja: 以下は1つのトークン間の最大距離を省略する例です。

en: You can specify extra intervals. They are just ignored:
ja: 余分にトークン間の最大距離を指定することもできます。この場合は単に余分な指定が無視されます。

en: Near phrase search condition
ja: 近傍フレーズ検索条件

en: Its syntax is ``*NP"phrase1 phrase2 ..."``.
ja: 構文は ``*NP"phrase1 phrase2 ..."`` です。

en: This conditional expression does near phrase search with ``phrase1``, ``phrase2`` and ``...``. Near phrase search searches records that contain the all specified phrases and there are at most 10 tokens between them. For example, ``*NP"a1b2c3d"`` matches ``a 1 b 2 c 3 d`` but doesn't match ``a b c d 1 2 3``. Because the latter uses different order:
ja: この条件式は ``フレーズ1`` と ``フレーズ2`` と ``...`` で近傍フレーズ検索をします。近傍フレーズ検索はすべてのフレーズが含まれていてかつすべてのフレーズが最大でも10トークン以内にあるレコードを検索します。たとえば、``*NP"a1b2c3d"`` は ``a 1 b 2 c 3 d`` にマッチしますが ``a b c d 1 2 3`` にはマッチしません。なぜなら後者は順序が違うからです。

en: You can use a phrase that includes spaces by quoting such as ``*NP"\"groonga mroonga\" pgroonga"``. Note that you need to escape ``\"`` in command syntax such as ``*NP"\\\"groonga mroonga\\\" pgroonga"``. This query matches ``groonga mroonga pgroonga`` but doesn't match ``groonga pgroonga mroonga`` because ``mroonga`` isn't right after ``groonga``:
ja: ``*NP"\"groonga mroonga\" pgroonga"`` というようにクォートすることでスペースを含んだフレーズを使うことができます。コマンド構文では ``*NP"\\\"groonga mroonga\\\" pgroonga"`` というように ``\"`` をエスケープしないといけないことに注意してください。このクエリーは ``groonga mroonga pgroonga`` にマッチしますが、 ``groonga pgroonga mroonga`` にはマッチしません。なぜなら ``mroonga`` が ``groonga`` のすぐ右にないからです。

en: You can customize the max interval of the given phrases (``10`` by default) by specifying a number after ``*NP``. Here is an example that uses ``2`` as the max interval of the given phrases::
ja: ``*NP`` のあとに数値を指定すると指定されたフレーズ群の最大距離（デフォルトは ``10`` ）をカスタマイズできます。以下は指定されたフレーズ群の最大距離を ``2`` にする例です。::

en: Here is an example to customize the max interval of the given phrases:
ja: 以下は指定されたフレーズ群の最大距離をカスタマイズする例です。

en: You can use additional interval only for the last phrase. It means that you can accept more distance only between the second to last phrase and the last phrase. This is useful for implementing a near phrase search in the same sentence. If you specify ``.`` (sentence end phrase) as the last phrase and specify ``-1`` as the additional last interval, the other specified phrases must be appeared before ``.``. You must append ``$`` to the last phrase like ``.$``.
ja: 最後のフレーズにだけ距離を追加することができます。つまり、最後から2番目のフレーズと最後のフレーズの間だけより多くの距離を許容できるということです。これは同一文内での近傍フレーズ検索を実装するときに便利です。最後のフレーズとして ``。`` （文末のフレーズ）を指定し、最後の追加距離として ``-1`` を指定すると、 ``。`` の前に他のすべてのフレーズが出現しなければいけません。最後のフレーズには ``。$`` というように最後に ``$`` をつけなければいけません。

en: Here is an example that uses ``-1`` as the additional last interval of the given phrases::
ja: 以下は指定されたフレーズ群の最後の追加距離として ``-1`` を使う例です。::

en: Here is an example to customize the additional last interval of the given phrases:
ja: 以下は指定したフレーズ群の最後の追加距離をカスタマイズする例です。

en: You can also use positive number for the additional last interval. If you specify positive number as the additional last interval, all of the following conditions must be satisfied:
ja: 最後の追加距離に正の数を指定することもできます。最後の追加距離に正の数を指定した場合、次のすべての条件を満たす必要があります。

en: The interval between the first phrase and the second to last phrase is less than or equals to ``the max interval``.
ja: 最初のフレーズと最後から2番目のフレーズの距離は ``最大距離`` 以下でなければいけない。

en: The interval between the first phrase and the last phrase is less than or equals to ``the max interval`` + ``the additional last interval``.
ja: 最初のフレーズと最後のフレーズの距離は ``最大距離`` + ``最後の追加距離`` 以下でなければいけない。

en: If you specify negative number as the additional last interval, the second condition isn't required. Appearing the last phrase is just needed.
ja: 最後の追加距離に負の数を指定した場合は2番目の条件を満たさなくてもよいです。最後のフレーズが出現するだけでよいです。

en: Here is an example to use positive number as the additional last interval:
ja: 以下は最後の追加距離として正の数を指定する例です。

en: The max intervals of each phrase.
ja: 各フレーズ間の最大距離。

en: You can also specify the max intervals of each phrase like :ref:`query-syntax-near-search-condition`.
ja: :ref:`query-syntax-near-search-condition` のように各フレーズ間の最大距離を指定することもできます。

en: Here is an example:
ja: 以下は使用例です。

en: Near phrase product search condition
ja: 近傍フレーズ直積検索条件

en: Its syntax is ``*NPP"(phrase1_1 phrase1_2 ...) (phrase2_1 phrase2_2 ...) ..."``.
ja: 構文は ``*NPP"(フレーズ1-1 フレーズ1-2 ...) (フレーズ2-1 フレーズ2-2 ...) ..."`` です。

en: This conditional expression does multiple :ref:`query-syntax-near-phrase-search-condition`. Phrases for each :ref:`query-syntax-near-phrase-search-condition` are computed as product of ``{phrase1_1, phrase1_2, ...}``, ``{phrase2_1, phrase2_2, ...}`` and ``...``. For example, ``*NPP"(a b c) (d e)"`` uses the following phrases for near phrase searches:
ja: この条件式は複数の :ref:`query-syntax-near-phrase-search-condition` をします。各 :ref:`query-syntax-near-phrase-search-condition` が使うフレーズ群は ``{フレーズ1-1, フレーズ1-2, ...}`` と ``{フレーズ2-1, フレーズ2-2, ...}`` と ``...`` の直積として計算します。たとえば、 ``*NPP"(a b c) (d e)"`` は以下のフレーズ群のリストで近傍フレーズ検索をします。

en: You can use the all features of :ref:`query-syntax-near-phrase-search-condition` such as the max interval, ``$`` for the last phrase and the additional last interval.
ja: 最大距離や ``$`` による最後のフレーズ指定や最後の追加距離など :ref:`query-syntax-near-phrase-search-condition` のすべての機能を使うことができます。

en: This is more effective than multiple :ref:`query-syntax-near-phrase-search-condition` .
ja: これは複数の :ref:`query-syntax-near-phrase-search-condition` よりも効率的です。

en: Ordered near phrase search condition
ja: 順序付き近傍フレーズ検索条件

en: It's syntax is ``*ONP"phrase1 phrase2 ..."``
ja: 構文は ``*ONP"phrase1 phrase2 ..."`` です。

en: This conditional expression does ordered near phrase search with ``phrase1``, ``phrase2`` and ``...``. Ordered near phrase search is similar to :ref:`query-syntax-near-phrase-search-condition` but ordered near phrase search checks phrases order. For example, ``*ONP"groonga mroonga pgroonga"`` matches ``groonga mroonga rroonga pgroonga`` but doesn't match ``groonga rroonga pgroonga mroonga``. Because the latter uses different order:
ja: この条件式は ``フレーズ1`` と ``フレーズ2`` と ``...`` で順序付き近傍フレーズ検索をします。順序付き近傍フレーズ検索は :ref:`query-syntax-near-phrase-search-condition` と似ていますが順序付き近傍フレーズ検索はフレーズの順番をチェックします。たとえば、 ``*ONP"groonga mroonga pgroonga"`` は ``groonga mroonga rroonga pgroonga`` にマッチしますが ``groonga rroonga pgroonga mroonga`` にはマッチしません。なぜなら後者は順序が違うからです。

en: You can use the all features of :ref:`query-syntax-near-phrase-search-condition` such as the max interval and the additional last interval. But you don't need to specify ``$`` for the last phrase because the last phrase in query is the last phrase.
ja: 最大距離や最後の追加距離といった :ref:`query-syntax-near-phrase-search-condition` のすべての機能を使えます。しかし、最後のフレーズに ``$`` を指定する必要はありません。クエリー内の最後のフレーズが最後のフレーズになるからです。

en: Ordered near phrase product search condition
ja: 順序付き近傍フレーズ直積検索条件

en: Its syntax is ``*ONPP"(phrase1_1 phrase1_2 ...) (phrase2_1 phrase2_2 ...) ..."``.
ja: 構文は ``*ONPP"(フレーズ1-1 フレーズ1-2 ...) (フレーズ2-1 フレーズ2-2 ...) ..."`` です。

en: This conditional expression does ordered near phrase product search. Ordered near phrase product search is similar to :ref:`query-syntax-near-phrase-product-search-condition` but ordered near phrase product search checks phrases order like :ref:`query-syntax-ordered-near-phrase-search-condition`. For example, ``*ONPP"(a b c) (d e)"`` matches ``a 1 d`` but doesn't match ``d 1 a``. Because the latter uses different order.
ja: この条件式は順序付き近傍フレーズ直積検索をします。順序付き近傍フレーズ直積検索は :ref:`query-syntax-near-phrase-product-search-condition` と似ていますが、順序付き近傍フレーズ直積検索は :ref:`query-syntax-ordered-near-phrase-search-condition` のようにフレーズの順序をチェックします。たとえば、 ``*ONPP"(a b c) (d e)"`` は ``a 1 d`` にマッチしますが、 ``d 1 a`` にはマッチしません。なぜなら後者は順序が違うからです。

en: Similar search condition
ja: 類似文書検索条件

en: Equal condition
ja: 等価条件

en: Its syntax is ``column:value``.
ja: 構文は ``column:value`` です。

en: It matches records that ``column`` value is equal to ``value``.
ja: ``column`` の値が ``value`` と等しいレコードにマッチします。

en: The expression matches records that ``_key`` column value is equal to ``Groonga``.
ja: この式は ``_key`` カラムの値が ``Groonga`` のレコードにマッチします。

en: Not equal condition
ja: 不等価条件

en: Its syntax is ``column:!value``.
ja: 構文は ``column:!value`` です。

en: It matches records that ``column`` value isn't equal to ``value``.
ja: ``column`` の値が ``value`` と等しくないレコードにマッチします。

en: The expression matches records that ``_key`` column value is not equal to ``Groonga``.
ja: この式は ``_key`` カラムの値が ``Groonga`` ではないレコードにマッチします。

en: Less than condition
ja: 小なり条件

en: Its syntax is ``column:<value``.
ja: 構文は ``column:<value`` です。

en: It matches records that ``column`` value is less than ``value``.
ja: ``column`` の値が ``value`` 未満のレコードにマッチします。

en: If ``column`` type is numerical type such as ``Int32``, ``column`` value and ``value`` are compared as number. If ``column`` type is text type such as ``ShortText``, ``column`` value and ``value`` are compared as bit sequence.
ja: ``column`` の型が ``Int32`` などの数値型の場合、 ``column`` の値と ``value`` は数値として比較します。もし、 ``column`` の型が ``ShortText`` のような文字列型の場合は ``column`` の値と ``value`` はビット列として比較します。

en: The expression matches records that ``n_likes`` column value is less than ``10``.
ja: この式は ``n_likes`` カラムの値が ``10`` より小さいレコードにマッチします。

en: Greater than condition
ja: 大なり条件

en: Its syntax is ``column:>value``.
ja: 構文は ``column:>value`` です。

en: It matches records that ``column`` value is greater than ``value``.
ja: ``column`` の値が ``value`` より大きいレコードにマッチします。

en: The expression matches records that ``n_likes`` column value is greater than ``10``.
ja: この式は ``n_likes`` カラムの値が ``10`` より大きいレコードにマッチします。

en: Less than or equal to condition
ja: 以下条件

en: Its syntax is ``column:<=value``.
ja: 構文は ``column:<=value`` です。

en: It matches records that ``column`` value is less than or equal to ``value``.
ja: ``column`` の値が ``value`` 以下のレコードにマッチします。

en: The expression matches records that ``n_likes`` column value is less than or equal to ``10``.
ja: この式は ``n_likes`` カラムの値が ``10`` 以下のレコードにマッチします。

en: Greater than or equal to condition
ja: 以上条件

en: Its syntax is ``column:>=value``.
ja: 構文は ``column:>=value`` です。

en: It matches records that ``column`` value is greater than or equal to ``value``.
ja: ``column`` の値が ``value`` 以上のレコードにマッチします。

en: The expression matches records that ``n_likes`` column value is greater than or equal to ``10``.
ja: この式は ``n_likes`` カラムの値が ``10`` 以上のレコードにマッチします。

en: Regular expression condition
ja: 正規表現条件

en: Its syntax is ``column:~pattern``.
ja: 構文は ``column:~pattern`` です。

en: It matches records that ``column`` value is matched to ``pattern``. ``pattern`` must be valid :doc:`/reference/regular_expression`.
ja: ``column`` の値が ``pattern`` にマッチするレコードにマッチします。 ``pattern`` は正しい :doc:`/reference/regular_expression` でなければいけません。

en: The following example uses ``.roonga`` as pattern. It matches ``Groonga``, ``Mroonga`` and so on.
ja: 以下の例はパターンとして ``.roonga`` を使っています。このパターンは ``Groonga`` 、 ``Mroonga`` といった文字列にマッチします。

en: In most cases, regular expression is evaluated sequentially. So it may be slow against many records.
ja: 多くの場合、各レコードに対して順に正規表現を評価します。そのため、多くのレコードがある場合は遅くなるかもしれません。

en: In some cases, Groonga evaluates regular expression by index. It's very fast. See :doc:`/reference/regular_expression` for details.
ja: いくつかのケースでは、Groongaはインデックスを使って正規表現を評価します。これはとても高速です。詳細は :doc:`/reference/regular_expression` を参照してください。

en: Combined expression
ja: 結合式

en: Here is available combined expression list.
ja: 以下は利用可能な結合式のリストです。

en: Logical OR
ja: 論理和

en: Its syntax is ``a OR b``.
ja: 構文は ``a OR b`` です。

en: ``a`` and ``b`` are conditional expressions, conbinded expressions or assignment expressions.
ja: ``a`` と ``b`` は条件式または結合式または代入式です。

en: If at least one of ``a`` and ``b`` are matched, ``a OR b`` is matched.
ja: ``a`` と ``b`` のうち少なくともひとつの式がマッチすれば ``a OR b`` はマッチします。

en: The expression matches records that ``n_likes`` column value is greater than ``10`` or contain a word ``senna`` in ``content`` column value.
ja: この式は ``n_likes`` カラムの値が ``10`` より大きいか ``content`` カラムの値に ``senna`` という単語を含んでいるレコードにマッチします。

en: Logical AND
ja: 論理積

en: Its syntax is ``a + b`` or just ``a b``.
ja: 構文は ``a + b`` です。あるいは単に ``a b`` と書くこともできます。

en: If both ``a`` and ``b`` are matched, ``a + b`` is matched.
ja: ``a`` と ``b`` の両方にマッチすれば ``a + b`` はマッチします。

en: You can specify ``+`` the first expression such as ``+a``. The ``+`` is just ignored.
ja: ``+a`` というように最初の式に ``+`` を指定することもできます。この場合は ``+`` は単に無視されます。

en: The expression matches records that ``n_likes`` column value is greater than or equal to ``10`` and contain a word ``groonga`` in ``content`` column value.
ja: この式は ``n_likes`` カラムの値が ``10`` 以上で ``content`` カラムの値に ``groonga`` という単語を含むレコードにマッチします。

en: Logical AND NOT
ja: 論理差

en: Its syntax is ``a - b``.
ja: 構文は ``a - b`` です。

en: If ``a`` is matched and ``b`` is not matched, ``a - b`` is matched.
ja: ``a`` にマッチして ``b`` にマッチしなければ、 ``a - b`` はマッチします。

en: You can not specify ``-`` the first expression such as ``-a``. It's syntax error.
ja: ``-a`` というように最初の式に ``-`` を指定することはできません。この場合は構文エラーになります。

en: The expression matches records that ``n_likes`` column value is greater than or equal to ``10`` and don't contain a word ``groonga`` in ``content`` column value.
ja: この式は ``n_likes`` カラムの値が ``10`` 以上で ``content`` カラムの値に ``groonga`` という単語を含まないレコードにマッチします。

en: Grouping
ja: グループ化

en: Its syntax is ``(...)``. ``...`` is space separated expression list.
ja: 構文は ``(...)`` です。 ``...`` は空白区切りの式のリストです。

en: ``(...)`` groups one ore more expressions and they can be processed as an expression. ``a b OR c`` means that ``a`` and ``b`` are matched or ``c`` is matched. ``a (b OR c)`` means that ``a`` and one of ``b`` and ``c`` are matched.
ja: ``(...)`` は1つ以上の式をグループ化します。グループ化された式は1つの式として処理されます。 ``a b OR c`` は ``a`` と ``b`` の両方がマッチするか、 ``c`` がマッチすれば式全体がマッチする、という意味になります。 ``a (b OR c)`` は ``a`` がマッチして ``b`` と ``c`` はどちらか一方がマッチすれば式全体がマッチする、という意味になります。

en: The first expression doesn't use grouping. It matches records that ``n_likes:<5`` and ``content:@senna`` are matched or ``content:@fast`` is matched.
ja: 最初の式はグループ化していません。この式は ``n_likes:<5`` と ``content:@senna`` の両方がマッチするか ``content:@fast`` がマッチするレコードにマッチします。

en: The second expression uses grouping. It matches records that ``n_likes:<5`` and one of ``content:@senna`` or ``content:@fast`` are matched.
ja: 2番目の式はグループ化しています。この式は ``n_likes:<5`` にマッチして、 ``content:@senna`` と ``content:@fast`` は少なくともどちらか一方にマッチするレコードにマッチします。

en: Assignment expression
ja: 代入式

en: This section is for advanced users. Because assignment expression is disabled in ``--query`` option of :doc:`/reference/commands/select` by default. You need to specify ``ALLOW_COLUMN|ALLOW_UPDATE`` as ``--query_flags`` option value to enable assignment expression.
ja: このセクションは高度なユーザー向けです。それは、代入式は :doc:`/reference/commands/select` の ``--query`` オプションではデフォルトでは無効になっているからです。代入式を有効にするには ``--query_flags`` オプションに ``ALLOW_COLUMN|ALLOW_UPDATE`` を指定してください。

en: Assignment expression in query syntax has some limitations. So you should use :doc:`/reference/grn_expr/script_syntax` instead of query syntax for assignment.
ja: クエリー構文における代入式にはいくつか制限があります。代入にはクエリー構文の代りに :doc:`/reference/grn_expr/script_syntax` を使ってください。

en: There is only one syntax for assignment expression. It's ``column:=value``.
ja: 代入式の構文は1つだけです。 ``column:=value`` となります。

en: ``value`` is assigend to ``column``. ``value`` is always processed as string in query syntax. ``value`` is casted to the type of ``column`` automatically. It causes some limitations. For example, you cannot use boolean literal such as ``true`` and ``false`` for ``Bool`` type column. You need to use empty string for ``false`` but query syntax doesn't support ``column:=`` syntax.
ja: ``value`` は ``column`` に代入されます。 ``value`` は常にクエリー構文では文字列として扱われます。 ``value`` は ``column`` の型へと自動的にキャストされます。 キャストにはいくつか制限があります。例えば ``true`` や ``false`` といった真偽値のリテラルを ``Bool`` 型のカラムに使用することができません。 ``false`` については空文字列を使う必要がありますが、クエリー構文は ``column:=`` 構文をサポートしていません。

en: See :doc:`/reference/cast` about cast.
ja: キャストについては :doc:`/reference/cast` を参照してください。
