第15章 検索およびブックマーク機能

Satellite Web UI は、Web UI の大半のページで利用できる強力な検索機能を特長としています。この機能によって Satellite Server が管理するあらゆる種類のリソースを検索できます。検索では、フリーテキストと構文ベースのクエリーの両方を使用でき、クエリーは詳細な予測入力を使用して実行されます。検索クエリーは今後の再利用に備えてブックマークとして保存することができます。

15.1. 検索クエリーの構築

検索クエリーの入力を開始すると、現在のクエリーを補完する有効なオプションの一覧が表示されます。一覧からオプションを選択するか、補完機能を使用してクエリーを構築するか、または入力を継続するかのいずれかのオプションを選択できます。検索エンジンがフリーテキストを解釈する方法については、「フリーテキスト検索の使用」 を参照してください。

15.1.1. クエリーの構文

parameter operator value

検索に利用できるフィールド、リソースおよびクエリーが解釈される方法はコンテキスト、つまり検索を実行するページによって異なります。たとえば、ホストページのホストグループフィールドはホストグループページの名前フィールドに相当します。またフィールドのタイプにより、利用可能な演算子および許可される値が決まります。すべての演算子の一覧については、演算子 を参照してください。値の形式についての説明は、 を参照してください。

15.1.2. 演算子

パラメーター の間で使用できるすべての演算子は以下の表に一覧表示されています。予測に基づいて構築されるクエリーで表示される可能性のある他の記号および特殊文字 (コロンなど) には特別な意味がなく、フリーテキストとして処理されます。

表15.1 検索で使用できる比較演算子

演算子ショートネーム説明

=

EQUALS

数値、時間的な値 (temporal value) またはテキストの値を受け入れます。テキストの場合、大文字と小文字が区別された完全一致が返されます。

hostgroup = RHEL7

!=

NOT EQUALS

~

LIKE

テキストまたは時間的な値 (temporal value) を受け入れます。大文字と小文字を区別しない一致を返します。1 文字の場合の _、ゼロを含む任意の数の文字の場合の % または たは * などのワイルドカードを受け入れます。ワイルドカードが指定されない場合、文字列はワイルドカードで囲まれている場合の様に処理されます (例: %rhel7%)。

hostgroup ~ rhel%

!~

NOT LIKE

>

GREATER THAN

数値、または時間的な値 (temporal value) を受け入れます。時間的な値の場合、演算子 > is は later than (次の日付より後) として、< は earlier than (次の日付より前) として解釈されます。どちらの演算子も EQUALS: >= <= と組み合わせることができます。

registered_at > 10-January-2017
検索結果では、指定された日付の後、つまり 2017 年 1 月 10 日から現在までの間に登録されたホストが返されます。

registered_at <= Yesterday
検索結果では、昨日以前に登録されたホストが返されます。

<

LESS THAN

^

IN

SQL の場合と同様に、値の一覧に対して式を比較します。値が含まれる一致または値の含まれない一致をそれぞれ返します。

release_version !^ 7

!^

NOT IN

HAS or set?

 

存在する値、または存在しない値をそれぞれ返します。

has hostgroup または set? hostgroup
Puppet クラスページでは、検索結果は 1 つ以上のホストグループに割り当てられたクラスを返します。

not has hostgroup または null? hostgroup
ホストの概要を表示するダッシュボードで、検索結果はホストグループが割り当てられていないすべてのホストを返します。

NOT HAS or null?

 

記述された構文に従う単純なクエリーを組み合わせて、論理演算子の AND、OR および NOT を使用してより複雑なクエリーにすることができます。演算子の代替表記も使用できます。

表15.2 検索で使用できる論理演算子

演算子代替表記

and

&

&&

<空白文字>

class = motd AND environment ~ production

or

|

||

 

errata_status = errata_needed || errata_status = security_needed

not

!

 

hostgroup ~ rhel7 not status.failed

15.1.3. 値

テキストの値

空白文字を含むテキストは引用符で囲む必要があります。囲まないと、空白文字は AND 演算子として解釈されます。

例:

hostgroup = "Web servers"

検索は、Web servers という名前の割り当て済みのホストグループとともにホストを返します。

hostgroup = Web servers

検索は、%servers% に一致するフィールドを持つホストグループ Web のホストを返します。

時間の値

以下を含め、数多くの日付/時刻形式を使用できます。

  • "10 January 2017"
  • "10 Jan 2017"
  • 10-January-2017
  • 10/January/2017
  • "January 10, 2017"
  • Today、Yesterday など。
警告

02/10/2017 または 10-02-2017 などのあいまいな日付形式を使用しないようにしてください。