# 高度な検索

RealmJoin は、テナントデータへリアルタイムにアクセスできる刷新された検索メカニズムを導入します。この強化により、ユーザー、デバイス、グループのオブジェクトが大量にあるテナントでも効率的なパフォーマンスが確保されます。

{% hint style="success" %}
Advanced Search の機能は、Users-、Groups-、Devices-、Packages- の各テーブルで利用できます。\
テナントデータをより有効に活用するための例については、Use Cases のサブページをご覧ください。&#x20;
{% endhint %}

テーブルは次の機能を使用して検索できます *基本* または *詳細* 検索機能。&#x20;

{% hint style="info" %} <mark style="color:既定の;background-color:yellow;">**すべての検索は、次のいずれかを使用して確定する必要があります**</mark><mark style="color:既定の;background-color:yellow;">**&#x20;**</mark>*<mark style="color:既定の;background-color:yellow;">**Enterキー**</mark>*<mark style="color:既定の;background-color:yellow;">**&#x20;**</mark><mark style="color:既定の;background-color:yellow;">**または**</mark>  <img src="https://3438325150-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FHli0RfKsBzt7a91EpdOv%2Fimage.png?alt=media&#x26;token=eadfefc7-d7b2-485c-9902-6fa6c94f8ee4" alt="" data-size="line"> <mark style="color:既定の;background-color:yellow;">**記号。**</mark>&#x20;
{% endhint %}

### 基本検索

基本検索では Graph API を使用してテナントデータを直接クエリし、リアルタイムの結果を提供します。&#x20;

基本検索は、Advanced Search が利用できない場合のフォールバックとして常に利用可能です。また、キャッシュされたテーブルの初回読み込み時にも表示され、キャッシュが完全に構築される前でも、ユーザーはすぐに検索できます。

### 詳細検索

RealmJoin の詳細検索機能は、キャッシュとトークン化を使用して検索を高速かつ信頼性の高いものにし、Ø のような Unicode 文字もサポートします。このトークン化により部分一致の名前検索が可能になり、たとえば "Ma Mu" というクエリで "Maren Müller" というユーザーを見つけることができます。&#x20;

さらに、郵便番号や UPN のようにテーブルに表示されていない情報も検索できます。&#x20;

<figure><img src="https://3438325150-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FpPoUYZyJG9anFKPfehrX%2Fimage.png?alt=media&#x26;token=f27e3c2f-2fa8-41c1-8941-f90c1e6763fe" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Entra / Intune からごく最近追加された情報が見つからない場合にのみ、右上隅の「Reload-Button」を使用してください。
{% endhint %}

### 詳細検索の構文概要

詳細検索では、柔軟で強力な構文を使用して利用可能なテーブル値全体を検索できます。主な機能とルールは以下のとおりです。

{% hint style="success" %}
クリック [こちら](https://docs.realmjoin.com/ja/toekusupto/advanced-search/advanced-search-syntax) で、より多くの例とサンプルのユースケースをご覧ください
{% endhint %}

* **トークン化検索**:\
  検索語は照合精度を向上させるために自動的にトークン化されます。たとえば、 `lu sk` と入力すると、次のような名前に一致します **Luke Skywalker**。検索では、全文検索や「含む」検索ではなく、常に **前方一致** の方式が使用されます。つまり、 `walk` を検索しても **一致しません** 返されることはありません **Skywalker**.
* **論理 AND**:\
  すべてのフィルターは論理 **AND**で組み合わされます。すべての条件を満たす必要があります。\
  例： `Luke Skywalker country:france` は、次の条件で Luke Skywalker を検索します **country** が「france」で始まるもの。
* **列ごとの検索**:\
  次を使用します `column:` 特定の列内を検索します。\
  例： `country:france` は、次の条件に一致する項目を検索します **country** が「france」で始まるもの。
* **演算子**:
  * `:` → **startsWith** 検索\
    例: `name:jo` "John"、"Joanna" などに一致します
  * `=` → **等しい** 検索\
    例: `city=Stuttgart` "Stuttgart" に完全一致します
  * `!=` または `!:` → **否定**\
    例: `city!=Stuttgart`または `city!:Stuttgart` "Suttgart" を除外します
* **特別な動作**:
  * **ウムラウトの置換**:\
    ウムラウトは正規化されます（例: **Björn** は次を検索すると見つかります **Bjorn**).
  * **Unicode のサポート**:\
    検索語では Unicode 文字がサポートされています。
  * **括弧 () は無視されます** startsWith 検索では。
  * **空の値の検索**:
    * `zip:""` 空の値を検索します
    * `zip:` 任意の値を検索します
* **サポートされる列**:
  * 列名の別名が存在する場合があり、括弧内に一覧表示されています
  * ユーザーテーブル:
    * `name, upn, language (lang), jobtitle (job), city, country, zip (plz), enabled, department (dept)`
      * `enabled:` → 受け入れます `true` または `false` (`enabled:true`)
  * グループテーブル
    * `name`
  * デバイステーブル
    * `name, operatingsystem (os), manufacturer (manu), model`

### FAQ

#### データはどのくらいの頻度でキャッシュされますか?

テーブルはスケジュールに従ってキャッシュされ、現在は 1 時間に設定されています。&#x20;

#### データを手動で更新できますか?

各テーブルの右上に、キャッシュされたデータを更新するボタンがあります。

#### 他のユーザーも私が更新したデータを使えますか?

このテーブルは、同じ RealmJoin ポータルインスタンス内のすべてのユーザーが利用できます。したがって、トリガーされた再構築はそれらすべてのユーザーに対して行われます。&#x20;

#### RealmJoin ポータルインスタンスとは何ですか?

RealmJoin ポータルには、負荷分散と冗長性の理由から 3 つの異なるインスタンスがあります。&#x20;

#### 高度な検索の再構築／更新にはどのくらい時間がかかりますか？

再構築にかかる時間は、テナントのサイズとオブジェクト数によって異なります。再構築には数分かかることも珍しくありません。再構築中は、基本検索のみ利用可能です。その後、すべてのデータは Graph 経由で直接クエリされるため、フィルタリング機能と速度が制限されます。
