ホワイトスペースアナライザ
whitespace
アナライザは、空白文字を見つけた場合、テキストを検索可能なターム(トークン)に分割します。 すべてのテキストは元の文字大文字と小文字のままになります。
アナライザが組み込み静的 用に作成するトークンは、whitespace
string AtlasUI 2}Visual Editor Refine Your Indexで確認できます。Index
Configurationsセクションには、インデックスで使用するアナライザを選択するためにView text
analysis of your selected index configurationを展開すると、 whitespace
アナライザが作成するインデックスと検索トークンが表示されます。
重要
Atlas Search は、アナライザ トークンのサイズが 32766 バイトを超える string フィールドのインデックスを作成しません。キーワード アナライザを使用する場合は、32766 バイトを超える string フィールドのインデックスを作成しません。
例
次のインデックス定義の例では、 whitespace
アナライザを使用して、 sample_mflix.moviesコレクションのtitle
フィールドのインデックスを指定します。 コレクションをクラスターにロードした場合は、Atlas UI ビジュアル エディターまたは JSONエディターを使用してサンプル インデックスを作成できます。 ご希望の構成方法を選択したら、データベースとコレクションを選択します。
インデックスを設定するには、 Refine Your Indexをクリックします。
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 が作成するトークン(検索可能なターム)を示しています。
タイトル | 空白アナライザ トークン | 簡易アナライザ トークン | キーワード アナライザ トークン |
---|---|---|---|
Lion's Den | Lion's , Den | lion , s , den | Lion's Den |
The Lion's Mouth Opens | The , Lion's , Mouth , Opens | the , lion , s , mouth , opens | The Lion's Mouth Opens |
whitespace
アナライザを使用するインデックスは大文字と小文字を区別します。 したがって、Atlas Search はクエリ用語Lion's
をwhitespace
アナライザによって作成されたトークンLion's
と照合できます。