Docs Menu

カスタムアナライザ

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

カスタム Atlas Searchアナライザは、 トークナイザ、任意の文字フィルターのリスト、任意のトークンフィルターのリストで構成されています。 Atlas Search がカスタムアナライザを使用してテキストを分析する場合、テキストは最初に文字フィルター、次にトークナイザ、次にトークンフィルターを通過します。

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

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

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

属性
タイプ
説明
必須

name

string

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

  • lucene.

  • builtin.

  • mongodb.

はい

charFilters

オブジェクトのリスト

0 個以上の文字フィルターを含む配列。

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

詳しくは、「 文字フィルター 」を参照してください。

no

tokenizer

オブジェクト

トークンを作成するために使用する トークナイザ 。

アナライザは、インデックスを作成するために、テキストのトークナイザをグループまたはトークンに分裂。

詳細については、「 トークナイザ 」を参照してください。

はい

tokenFilters

オブジェクトのリスト

0 個以上のトークン フィルターを含む配列。

トークン フィルターは、次のような操作を実行します。

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

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

詳細については、「 トークン フィルター 」を参照してください。

no

Atlas UI Visual Editor には、 カスタムアナライザ の構築を初めて使う際に、一般的に使用されるテンプレートから選択する オプションが含まれています。

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

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

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

これらの組み込みアナライザを使用するか、Atlas Search Visual Editor または JSONエディターを使用して独自のカスタムアナライザを作成できます。

文字フィルタートークナイザトークン フィルターのページには、文字フィルター、トークナイザ、トークン フィルターのサンプルインデックス定義とクエリ例が含まれています。 これらの例では、次のドキュメントを含むサンプル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 UI でVisual Editorを使用してカスタムアナライザを追加すると、Atlas UI のCustom Analyzersセクションにアナライザに関する次の詳細が表示されます。

名前

カスタムアナライザを識別するラベル。

で使用される

カスタムアナライザを使用するフィールド。 カスタム アナライザ がフィールドを分析するために使用されない場合、値は[なし]です。

文字フィルター

カスタムアナライザで構成された Atlas Search文字フィルター

トークナイザ

カスタム アナライザ で構成された Atlas Searchトークナイザ

トークン フィルター

カスタムアナライザで構成された Atlas Searchトークン フィルター

アクション

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

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

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