Docs Menu
Docs Home
/
MongoDB Atlas
/ / / /

カスタムアナライザ

項目一覧

  • Overview
  • 構文
  • 属性
  • 使用法
  • コレクションの例
  • カスタムアナライザの例

Atlas Search アナライザは、文字のシーケンスを変換、フィルタリング、グループ化するための一連の操作を実行して、インデックスを作成するドキュメントのセットを準備します。 Atlas UI から、特定のインデックス ニーズに合わせてカスタムアナライザを定義できます。

カスタムアナライザの構文は次のとおりです。

"analyzers": [
{
"name": "<name>",
"charFilters": [ <list-of-character-filters> ],
"tokenizer": {
"type": "<tokenizer-type>"
},
"tokenFilters": [ <list-of-token-filters> ]
}
]

カスタムアナライザには、次の属性があります。

属性
タイプ
説明
必須
name
string

カスタムアナライザの名前。 名前はインデックス内で一意である必要があり、次のいずれかの文字列で始まらない必要があります。

  • lucene.

  • builtin.

  • mongodb.

はい
charFilters
オブジェクトのリスト
0 個以上の文字フィルターを含む配列。 詳細については、「 使用」を参照してください。
no
tokenizer
オブジェクト
トークンを作成するために使用する トークナイザ 。 詳細については、「使用状況」を参照してください。
はい
tokenFilters
オブジェクトのリスト
0 個以上のトークン フィルターを含む配列。 詳細については、「使用状況」を参照してください。
no

コレクションのインデックス作成時にカスタムアナライザを使用するには、 インデックス定義analyzersフィールドに次の内容を含めます。

  1. 任意。 1 つ以上の文字フィルターを指定します。 文字フィルターは、テキストを一度に 1 文字ずつ検査し、フィルタリング操作を実行します。

  2. 必須トークナイザを指定します。 アナライザは、インデックスを作成するために、テキストのチャンクをグループまたはトークンに分割します。 たとえば、空白トークナイザは、空白が発生する場所に基づいてテキストフィールドを個々の単語に分割します。

  3. 任意。 1 つ以上のトークン フィルターを指定します。 トークン化ステップの後、結果のトークンは 1 つ以上のトークン フィルターを通過できます。 トークン フィルターは、次のような操作を実行します。

    • ステミング 。これにより、「toring」、「thaled」、「torages」などの関連単語を語幹単語の「torage」に減らします。

    • 編集 : 公開ドキュメントから機密情報を排除します。

注意

テキストは最初に文字フィルターを通過し、次にトークナイザ、次にトークン フィルターを通過します。

文字フィルタートークナイザトークン フィルターのページには、文字フィルター、トークナイザ、トークン フィルターのサンプルインデックス定義とクエリ例が含まれています。 これらの例では、次のドキュメントを含むサンプルminutesコレクションを使用します。

{
"_id": 1,
"page_updated_by": {
"last_name": "AUERBACH",
"first_name": "Siân",
"email": "auerbach@example.com",
"phone": "(123)-456-7890"
},
"title": "The team's weekly meeting",
"message": "try to siGn-In",
"text": {
"en_US": "<head> This page deals with department meetings.</head>",
"sv_FI": "Den här sidan behandlar avdelningsmöten",
"fr_CA": "Cette page traite des réunions de département"
}
}
{
"_id": 2,
"page_updated_by": {
"last_name": "OHRBACH",
"first_name": "Noël",
"email": "ohrbach@example.com",
"phone": "(123) 456 0987"
},
"title": "The check-in with sales team",
"message": "do not forget to SIGN-IN. See ① for details.",
"text" : {
"en_US": "The head of the sales department spoke first.",
"fa_IR": "ابتدا رئیس بخش فروش صحبت کرد",
"sv_FI": "Först talade chefen för försäljningsavdelningen"
}
}
{
"_id": 3,
"page_updated_by": {
"last_name": "LEWINSKY",
"first_name": "Brièle",
"email": "lewinsky@example.com",
"phone": "(123).456.9870"
},
"title": "The regular board meeting",
"message": "try to sign-in",
"text" : {
"en_US": "<body>We'll head out to the conference room by noon.</body>"
}
}
{
"_id": 4,
"page_updated_by": {
"last_name": "LEVINSKI",
"first_name": "François",
"email": "levinski@example.com",
"phone": "123-456-8907"
},
"title": "The daily huddle on tHe StandUpApp2",
"message": "write down your signature or phone №",
"text" : {
"en_US": "<body>This page has been updated with the items on the agenda.</body>" ,
"es_MX": "La página ha sido actualizada con los puntos de la agenda.",
"pl_PL": "Strona została zaktualizowana o punkty porządku obrad."
}
}

Atlas Search ビジュアル エディターには、一般的な使用テンプレートに基づく次の組み込みカスタムアナライザが含まれています。

  • メール パーサー- これを使用して、メールアドレスを最大200文字でトークン化します。 たとえば、このアナライザはサンプル コレクションpage_updated_by.emailフィールドに適用できます。

  • 電話番号- これを使用して、米国形式の電話番号から単一のトークンを作成します。 たとえば、このアナライザはサンプル コレクションpage_updated_by.phoneフィールドに適用できます。

  • ダッシュ区切りの ID - これを使用して、ハイフン区切りのテキストからトークンを作成します。 たとえば、このアナライザはサンプル コレクションmessageフィールドに適用できます。

これらの組み込みアナライザを使用するか、Atlas Search ビジュアル エディターまたは JSONエディターを使用して独自のカスタムアナライザを作成できます。 独自のカスタムアナライザの作成の詳細については、次のページを参照してください。

注意

Atlas UI で Visual Editorを使用してカスタムアナライザを追加すると、Atlas UI のCustom Analyzersセクションにアナライザに関する次の詳細が表示されます。

名前
カスタムアナライザを識別するラベル。
で使用される
カスタムアナライザを使用するフィールド。 カスタム アナライザ がフィールドを分析するために使用されない場合、値は[なし]です。
文字フィルター
カスタムアナライザで構成された Atlas Search文字フィルター
トークナイザ
カスタム アナライザ で構成された Atlas Searchトークナイザ
トークン フィルター
カスタムアナライザで構成された Atlas Searchトークン フィルター
アクション

カスタム アナライザで実行できるアクションを示すクリック可能なアイコン。

  • をクリックしますカスタムアナライザを編集します。

  • をクリックしますカスタムアナライザを削除します。

戻る

multi