ホワイトスペースアナライザ
whitespace
アナライザは、空白文字を見つけた場合、テキストを検索可能なターム(トークン)に分割します。 すべてのテキストは元の文字大文字と小文字のままになります。
Atlas UI Visual Editor でインデックスを作成または編集する際、whitespace
アナライザが組み込みのサンプルドキュメントとクエリ文字列に対して生成するトークンを確認できます。Refine Your Index を選択すると、Atlas UI にはIndex Configurations セクション内に「View text analysis of your selected index configuration」というタイトルのセクションが表示されます。このセクションを展開すると、Atlas UI には、whitespace
アナライザが各サンプル文字列に対して生成するインデックスと検索トークンが表示されます。
重要
Atlas Search は、アナライザ トークンのサイズが 32766 バイトを超える string フィールドのインデックスを作成しません。キーワード アナライザを使用する場合は、32766 バイトを超える string フィールドのインデックスを作成しません。
例
次のインデックス定義の例では、sample_mflix.movies コレクションの title
フィールドに whitespace
アナライザを使用してインデックスを指定します。この例に従うには、サンプルデータをクラスターに読み込み、Atlas UI のCreate a Search Index ページに移動し、「Atlas Search インデックスの作成」チュートリアルの手順に従ってください。次に、minutes
コレクションをデータソースとして選択し、例の手順に従って Visual Editor または JSON editor にインデックスを作成します。
インデックスを設定するには、 Refine Your Indexをクリックします。
Index Configurations セクションで、Dynamic Mapping を off に切り替えます。
Field Mappingsセクションで、 Add FieldをクリックしてAdd Field Mappingウィンドウを開きます。
Field Nameドロップダウンから
title
を選択します。[Customized Configuration] をクリックします。
[ Data Type String選択されていない場合は選択します。
String Propertiesを展開し、次の変更を加えます。
インデックスアナライザ
ドロップダウンから [
lucene.whitespace
] を選択します。searchAnalyzer
ドロップダウンから [
lucene.whitespace
] を選択します。インデックス オプション
デフォルトの
offsets
を使用します。Store
デフォルトの
true
を使用します。上記を無視
デフォルト設定のままにしてください。
基準
デフォルトの
include
を使用します。[Add] をクリックします。
[Save Changes] をクリックします。
[Create Search Index] をクリックします。
デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。
{ "mappings": { "fields": { "title": { "type": "string", "analyzer": "lucene.whitespace", "searchAnalyzer": "lucene.whitespace" } } } } [Next] をクリックします。
[Create Search Index] をクリックします。
次のクエリは、 title
フィールドでLion's
というタームを検索します。
db.movies.aggregate([ { "$search": { "text": { "query": "Lion's", "path": "title" } } }, { "$project": { "_id": 0, "title": 1 } } ])
[ { title: 'Lion's Den' }, { title: 'The Lion's Mouth Opens' } ]
Atlas Search これらのドキュメントを返すには、 lucene.whitespace
アナライザを使用してtitle
フィールドのテキストに対して次の操作を実行します。
テキストの元の文字大文字と小文字を保持します。
空白文字が見つかったテキストをトークンに分割します。
次の表は、結果内のドキュメントに対してホワイトスペース アナライザと、簡易アナライザとキーワード アナライザを使用して Atlas Search が作成するトークン(検索可能なターム)を示しています。
タイトル | 空白アナライザ トークン | 簡易アナライザ トークン | キーワード アナライザ トークン |
---|---|---|---|
|
|
|
|
|
|
|
|
whitespace
アナライザを使用するインデックスは大文字と小文字を区別します。 したがって、Atlas Search はクエリ用語Lion's
をwhitespace
アナライザによって作成されたトークンLion's
と照合できます。