> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 検索制約

> Advanced pre-search relations セクションで、RestrictSearchArea、半平面関数、boundary の制限、除外を使用して検索制約を設定します。

検索領域の制約は、**Properties** ダイアログの **Search Constraints** タブと **Relations** タブ、および **Advanced pre-search relations** セクションで設定します。

制約が適用される前は、検索領域はページの矩形と一致しています。FlexiLayout Studio はまず **Search Constraints** タブと **Relations** タブで設定された制約を適用し、次に **Advanced pre-search relations** セクションで設定された追加の制約を適用します。

<div id="advanced-pre-search-relations-constraint-types">
  ## Advanced pre-search relations の制約タイプ
</div>

次のタイプの制約を設定できます。

* **Rectangle、Region、または矩形の配列** – 検索領域を、1 つの矩形 (`Rect` 変数) 、1 つの Region (つまり、連続した矩形の配列である `Region` 変数) 、または一般には連続している必要のない矩形の配列 (`RectArray` 変数) に制限します。この制約は、`RestrictSearchArea` 関数と対応する型のパラメーターを使用して設定します。必要な型の値を返す任意の式をパラメーターとして使用できます。
* **半平面** – 検索領域を、特定の点の左側、右側、上側、または下側にある半平面に制限します。これらの制約は、`Leftof`、`Rightof`、`Above`、`Below` 関数を使用して設定します。
* **要素境界** – 要素の個々の境界に制約を設定します。これにより、検索領域の計算段階で可能な仮説の範囲が狭まります。これらの制約は、`LeftBound`、`RightBound`、`topBound`、`BottomBound` 関数と `>` および `<` 演算子を使用して設定します。
* **除外** – 矩形、矩形の配列、仮説などを検索領域から除外します。これらの制約は、`Exclude`、`ExcludeRect`、`ExcludeSet` 関数を使用して設定します。

要素境界の制約では、要素の左境界は常に画像の左側部分にある一方、右境界は右方向に際限なく伸びる可能性があることが、あらかじめわかっている場合があります。`LeftBound` 関数と `RightBound` 関数は検索領域の左境界と右境界にアクセスし、`topBound` 関数と `BottomBound` 関数はそれぞれ上境界と下境界にアクセスします。

<div id="how-multiple-constraints-combine">
  ## 複数の制約を組み合わせる方法
</div>

これらの制約は、**Advanced pre-search relations** セクションでいくつでも指定できます。各制約によって画像上に領域が作成され、それらすべての領域の積集合が取られます。

さらに、その要素について計算された検索領域は、この要素を含む **Group** 要素の検索領域との積集合が取られます。
