Docs Menu
Docs Home
/
MongoDB Atlas
/ / / /

簡易アナライザ

simpleアナライザは、空白、句読点、1 桁以上の数字など、文字以外の文字を見つけた場合、テキストを検索可能なターム(トークン)に分割します。 すべてのテキストを小文字に変換します。

アナライザが組み込み静的 用に作成するトークンは、simplestring AtlasUI 2}Visual Editor Refine Your Indexで確認できます。Index Configurationsセクションには、インデックスで使用するアナライザを選択するためにView text analysis of your selected index configurationを展開すると、 simpleアナライザが作成するインデックスと検索トークンが表示されます。

重要

Atlas Searchは、サイズが 32766 バイトを超えるstringフィールドのインデックスを作成しません。

次のインデックス定義の例では、 simpleアナライザを使用して、 sample_mflix.moviesコレクションのtitleフィールドのインデックスを指定します。 コレクションをクラスターにロードした場合は、Atlas UI ビジュアル エディターまたは JSONエディターを使用してサンプル インデックスを作成できます。 ご希望の構成方法を選択したら、データベースとコレクションを選択します。

  1. インデックスを設定するには、 Refine Your Indexをクリックします。

  2. Field Mappingsセクションで、 Add FieldをクリックしてAdd Field Mappingウィンドウを開きます。

  3. [Customized Configuration] をクリックします。

  4. Field Nameドロップダウンからtitleを選択します。

  5. [ Data Type String選択されていない場合は選択します。

  6. String Propertiesを展開し、次の変更を加えます。

    インデックスアナライザ
    ドロップダウンから [lucene.simple] を選択します。
    searchAnalyzer
    ドロップダウンから [lucene.simple] を選択します。
    インデックス オプション
    デフォルトのoffsetsを使用します。
    Store
    デフォルトのtrueを使用します。
    上記を無視
    デフォルト設定のままにしてください。
    基準
    デフォルトのincludeを使用します。
  7. [Add] をクリックします。

  8. [Save Changes] をクリックします。

  9. [Create Search Index] をクリックします。

  1. デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。

    {
    "mappings": {
    "fields": {
    "title": {
    "type": "string",
    "analyzer": "lucene.simple"
    }
    }
    }
    }
  2. [Next] をクリックします。

  3. [Create Search Index] をクリックします。

次のクエリは、 titleフィールドでlionというタームを検索し、出力を 5 つの結果に制限します。

1db.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'sLion'sのトークンを作成するためです。それぞれを使用しますが、 lionのトークンは作成しません。

戻る

標準