アナライザによるデータ処理
Atlas Search が string
フィールドの内容を検索可能なタームに変換する方法は、アナライザを使用して制御できます。 アナライザは、テキストからトークンを抽出するトークナイザのポリシーと、定義したフィルターを組み合わせたものです。 Atlas Search は フィルター をトークンに適用して、句読点、大文字、埋め込み単語などにおける差異を修正する索引可能なタームを作成します。
Atlas Search が検索タームを作成する方法を制御するには、 インデックス定義で Atlas Search アナライザを使用します。 インデックスの作成、クエリの実行、またはその両方のときにアナライザを指定できます。
アナライザ
Atlas Search は、次の組み込みアナライザを提供します。
analyzer | 説明 |
---|---|
すべての Atlas Search インデックスとクエリにデフォルトのアナライザを使用します。 | |
文字以外の文字が見つかった場合、テキストを検索可能なタームに分割します。 | |
空白文字が見つかった場合は、テキストを検索可能なタームに分割します。 | |
言語固有のテキスト アナライザ のセットを提供します。 | |
テキスト フィールドを単一の用語としてインデックスします。 |
独自のカスタムアナライザを作成することもできます。 マルチアナライザ を使用して代替アナライザを指定できます。
アナライザを指定しない場合、MongoDB はデフォルトの標準アナライザ を使用します。
アナライザの詳細については、MongoDB Developer Center でアナライザを分析してアプリに適切な検索インデックスを構築するを参照してください。
正規化
正規表現は、分析の最後に 1 つのトークンのみを生成します。 正規表現は、Atlas Searchトークンタイプのフィールド定義でのみ構成できます。 Atlas Search は次の正規化を提供します。
正規表現 | 説明 |
---|---|
| string フィールド内のテキストを小文字に変換し、string 全体に対して単一のトークンを作成します。 |
| 変換は実行されませんが、単一のトークンが作成されます。 |