カスタムアナライザ
Overview
Atlas Search アナライザは、文字のシーケンスを変換、フィルタリング、グループ化するための一連の操作を実行して、インデックスを作成するドキュメントのセットを準備します。 Atlas UI から、特定のインデックス ニーズに合わせてカスタムアナライザを定義できます。
構文
カスタムアナライザの構文は次のとおりです。
"analyzers": [ { "name": "<name>", "charFilters": [ <list-of-character-filters> ], "tokenizer": { "type": "<tokenizer-type>" }, "tokenFilters": [ <list-of-token-filters> ] } ]
属性
カスタムアナライザには、次の属性があります。
属性 | タイプ | 説明 | 必須 |
---|---|---|---|
name | string | カスタムアナライザの名前。 名前はインデックス内で一意である必要があり、次のいずれかの文字列で始まらない必要があります。
| はい |
charFilters | オブジェクトのリスト | 0 個以上の文字フィルターを含む配列。 詳細については、「 の使用」を参照してください。 | no |
tokenizer | オブジェクト | トークンを作成するために使用する トークナイザ 。 詳細については、「使用状況」を参照してください。 | はい |
tokenFilters | オブジェクトのリスト | 0 個以上のトークン フィルターを含む配列。 詳細については、「使用状況」を参照してください。 | no |
使用法
コレクションのインデックス作成時にカスタムアナライザを使用するには、 インデックス定義analyzers
フィールドに次の内容を含めます。
任意。 1 つ以上の文字フィルターを指定します。 文字フィルターは、テキストを一度に 1 文字ずつ検査し、フィルタリング操作を実行します。
必須。 トークナイザを指定します。 アナライザは、インデックスを作成するために、テキストのチャンクをグループまたはトークンに分割します。 たとえば、空白トークナイザは、空白が発生する場所に基づいてテキストフィールドを個々の単語に分割します。
任意。 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トークン フィルター。 |
アクション | カスタム アナライザで実行できるアクションを示すクリック可能なアイコン。
|