標準アナライザ
standard
アナライザは、すべての Atlas Search インデックスとクエリのデフォルトです。 テキストを単語の境界に基づいてタームに分割するため、ほとんどのユースケースで言語に依存しません。 すべてのタームが小文字に変換され、句読点が削除されます。 これは、メールアドレス、頭字語、中国語、日が照合、文字、英数字などを認識する文字列ベースのトークン化を提供します。
アナライザが組み込み静的 用に作成するトークンは、standard
string AtlasUI 2}Visual Editor Refine Your Indexで確認できます。Index
Configurationsセクションには、インデックスで使用するアナライザを選択するためにView text
analysis of your selected index configurationを展開すると、 standard
アナライザが作成するインデックスと検索トークンが表示されます。
重要
Atlas Search は、アナライザトークンのサイズが 32766 バイトを超えるstringフィールドのインデックスを作成しません。キーワードアナライザーを使用する場合、32766 バイトを超える文字列フィールドはインデックスされません。
例
次のインデックス定義の例では、 standard
アナライザを使用して、 sample_mflix.moviesコレクションのtitle
フィールドのインデックスを指定します。 コレクションをクラスターにロードした場合は、Atlas UI ビジュアル エディターまたは JSONエディターを使用してサンプル インデックスを作成できます。 ご希望の構成方法を選択したら、データベースとコレクションを選択します。
インデックスを設定するには、 Refine Your Indexをクリックします。
Field Mappingsセクションで、 Add Field MappingをクリックしてAdd Field Mappingウィンドウを開きます。
[Customized Configuration] をクリックします。
Field Nameドロップダウンから
title
を選択します。[ Data Type String選択されていない場合は選択します。
String Propertiesを展開し、次の変更を加えます。
インデックスアナライザまだ選択されていない場合は、ドロップダウンから [lucene.standard
] を選択します。searchAnalyzerまだ選択されていない場合は、ドロップダウンから [lucene.standard
] を選択します。インデックス オプションデフォルトのoffsets
を使用します。Storeデフォルトのtrue
を使用します。上記を無視デフォルト設定のままにしてください。基準デフォルトのinclude
を使用します。[Add] をクリックします。
[Save Changes] をクリックします。
[Create Search Index] をクリックします。
デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。
{ "mappings": { "fields": { "title": { "type": "string", "analyzer": "lucene.standard" } } } } [Next] をクリックします。
[Create Search Index] をクリックします。
次のクエリは、 title
フィールドでaction
というタームを検索し、出力を 2 つの結果に制限します。
db.movies.aggregate([ { "$search": { "text": { "query": "action", "path": "title" } } }, { "$limit": 2 }, { "$project": { "_id": 0, "title": 1 } } ])
[ { title: 'Action Jackson' }, { title: 'Class Action' } ]
Atlas Search がこれらのドキュメントを返すのは、クエリ用語action
とドキュメントのトークンaction
が一致しているためです。Atlas Search はlucene.standard
アナライザを使用してtitle
フィールドのテキストに対して次の操作を実行して作成しました。
テキストを小文字に変換します。
単語の境界に基づいてテキストを分割し、個別のトークンを作成します。
次の表は、 標準アナライザを使用して Atlas Search が作成するトークン(検索可能なターム)と、結果内のドキュメント用に Atlas Search がキーワード アナライザと空白アナライザ用に作成するトークンを示しています。
タイトル | 標準アナライザ トークン | キーワード アナライザ トークン | 空白アナライザ トークン |
---|---|---|---|
Action Jackson | action , jackson | Action Jackson | Action , Jackson |
Class Action | class , action | Class Action | Class , Action |
次のインデックスを使用してフィールドをインデックスする場合:
キーワード アナライザ。Atlas Search では、クエリ用語
action
の結果内のドキュメントは一致しません。keyword
アナライザは、検索用語が フィールドの内容全体に一致するドキュメントのみと一致するためです(Action Jackson
とClass Action
)を含むドキュメントをインポートしようとすると、エラーを返します。ホワイトスペース アナライザ 、 では、クエリ用語Atlas Search の結果内のドキュメントが
action
whitespace
title
Action
action
whitespace
アナライザ トークンと一致しない 。