簡易アナライザ
simple
アナライザは、空白、句読点、1 桁以上の数字など、文字以外の文字を見つけた場合、テキストを検索可能なターム(トークン)に分割します。 すべてのテキストを小文字に変換します。
アナライザが組み込み静的 用に作成するトークンは、simple
string AtlasUI 2}Visual Editor Refine Your Indexで確認できます。Index
Configurationsセクションには、インデックスで使用するアナライザを選択するためにView text
analysis of your selected index configurationを展開すると、 simple
アナライザが作成するインデックスと検索トークンが表示されます。
重要
Atlas Search は、アナライザ トークンのサイズが 32766 バイトを超える string フィールドのインデックスを作成しません。キーワード アナライザを使用する場合は、32766 バイトを超える string フィールドのインデックスを作成しません。
例
次のインデックス定義の例では、 simple
アナライザを使用して、 sample_mflix.moviesコレクションのtitle
フィールドのインデックスを指定します。 コレクションをクラスターにロードした場合は、Atlas UI ビジュアル エディターまたは JSONエディターを使用してサンプル インデックスを作成できます。 ご希望の構成方法を選択したら、データベースとコレクションを選択します。
インデックスを設定するには、 Refine Your Indexをクリックします。
Field Mappingsセクションで、 Add FieldをクリックしてAdd Field Mappingウィンドウを開きます。
[Customized Configuration] をクリックします。
Field Nameドロップダウンから
title
を選択します。[ Data Type String選択されていない場合は選択します。
String Propertiesを展開し、次の変更を加えます。
インデックスアナライザドロップダウンから [lucene.simple
] を選択します。searchAnalyzerドロップダウンから [lucene.simple
] を選択します。インデックス オプションデフォルトのoffsets
を使用します。Storeデフォルトのtrue
を使用します。上記を無視デフォルト設定のままにしてください。基準デフォルトのinclude
を使用します。[Add] をクリックします。
[Save Changes] をクリックします。
[Create Search Index] をクリックします。
デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。
{ "mappings": { "fields": { "title": { "type": "string", "analyzer": "lucene.simple" } } } } [Next] をクリックします。
[Create Search Index] をクリックします。
次のクエリは、 title
フィールドでlion
というタームを検索し、出力を 5 つの結果に制限します。
1 db.movies.aggregate([ 2 { 3 "$search": { 4 "text": { 5 "query": "lion", 6 "path": "title" 7 } 8 } 9 }, 10 { 11 "$limit": 5 12 }, 13 { 14 "$project": { 15 "_id": 0, 16 "title": 1 17 } 18 } 19 ])
[ { title: 'White Lion' }, { title: 'The Lion King' }, { title: 'The Lion King 1 1/2' }, { title: 'The Lion King 1 1/2' }, { title: 'Lion's Den' }, ]
Atlas Search これらのドキュメントを返すには、 lucene.simple
アナライザを使用してtitle
フィールドのテキストに対して次の操作を実行します。
テキストを小文字に変換します。
文字以外の文字がある場合はテキストを分割して個別のトークンを作成します。
次の表は、Atlas Search が結果内のドキュメントに対して Simple Analyzerと、対照的に標準 アナライザとホワイトスペース アナライザを使用して作成するトークンを示しています。
タイトル | 簡易アナライザ トークン | 標準アナライザ トークン | 空白アナライザ トークン |
---|---|---|---|
White Lion | white , lion | white , lion | White , Lion |
The Lion King | the , lion , king | the , lion , king | The , Lion , King |
The Lion King 1 1/2 | the , lion , king | the , lion , king , 1 , 1 , 2 | The , Lion , King , 1 , 1/2 |
Lion's Den | lion , s , den | lion's , den | Lion's , Den |
Atlas Search では、 simple
アナライザがクエリ用語のlion
に一致するlion
用の別のトークンが作成されているため、Atlas Search は結果にドキュメントLion's Den
を返します。 対照的に、標準アナライザまたはホワイトスペースアナライザを使用してフィールドをインデックスすると、Atlas Search はクエリの結果に一部のドキュメントを返しますが、 Lion's Den
は返しません。これらのアナライザはlion's
とLion's
のトークンを作成するためです。それぞれを使用しますが、 lion
のトークンは作成しません。