標準アナライザ
項目一覧
standard
アナライザは、すべての Atlas Search インデックスとクエリのデフォルトです。 テキストを単語の境界に基づいてタームに分割するため、ほとんどのユースケースで言語に依存しません。 すべてのタームが小文字に変換され、句読点が削除されます。 これは、メールアドレス、頭字語、中国語、日が照合、文字、英数字などを認識する文字列ベースのトークン化を提供します。
Atlas UI Visual Editor でインデックスを作成または編集すると、standard
アナライザが組み込みサンプルドキュメントとクエリ文字列用に作成するトークンが確認できます。 Refine Your Index を選択した場合、Atlas UI はIndex Configurations セクション内に View text analysis of your selected index configuration というタイトルのセクションを表示します。このセクションを展開すると、Atlas UI には、standard
アナライザが各サンプル列に対して生成するインデックスと検索トークンが表示されます。
重要
Atlas Search は、アナライザ トークンのサイズが 32766 バイトを超える string フィールドのインデックスを作成しません。キーワード アナライザを使用する場合は、32766 バイトを超える string フィールドのインデックスを作成しません。
例
title
standard
次のインデックス定義の例では、 Create a Search Indexminutes
アナライザを使用して、 sample_mflix.moviesコレクションの フィールドのインデックスを指定します。この例に従うには、クラスターにサンプルデータをロードし、Atlas Search インデックスの作成 チュートリアルの手順に従って Atlas UIの ページに移動します。次に、データソースとして コレクションを選択し、例手順に従って、Visual Editor またはJSON editor にインデックスを作成します。
インデックスを設定するには、 Refine Your Indexをクリックします。
Index Configurations セクションで、Dynamic Mapping を off に切り替えます。
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 がキーワード アナライザと空白アナライザ用に作成するトークンを示しています。
タイトル | 標準アナライザ トークン | キーワード アナライザ トークン | 空白アナライザ トークン |
---|---|---|---|
|
|
|
|
|
|
|
|
次のインデックスを使用してフィールドをインデックスする場合:
キーワード アナライザ。Atlas Search では、クエリ用語
action
の結果内のドキュメントは一致しません。keyword
アナライザは、検索用語が フィールドの内容全体に一致するドキュメントのみと一致するためです(Action Jackson
とClass Action
)を含むドキュメントをインポートしようとすると、エラーを返します。ホワイトスペース アナライザ 、 では、クエリ用語Atlas Search の結果内のドキュメントが
action
whitespace
title
Action
action
whitespace
アナライザ トークンと一致しない 。