シノニムマップ操作 (Azure Cognitive Search REST API)Synonym Map Operations (Azure Cognitive Search REST API)

シノニムマップは、条件を関連付け、クエリを拡張してマップされた用語を含めるリソースです。A synonym map is a resource that associates terms, expanding queries to include mapped terms. たとえば、アプリケーションでは、"whirlpool"、"jacuzzi"、および "hot 浴槽" という単語は同等であり、検索対象が1つだけの場合に検索を自動的に展開するルールが必要です。For example, in your application, the words "whirlpool", "jacuzzi" and "hot tub" may be equivalent and you want to have a rule that automatically expands the search when only one is searched for. 規則が含まれているリソースは、シノニムマップと呼ばれます。The resource that contains the rules is called a synonym map.

シノニムマップは、サービスレベルリソースであり、検索インデックスとは別に保持されます。Synonym maps are service level resources and maintained independently from search indexes. シノニムマップがアップロードされたら、任意の検索可能フィールドをシノニムマップ (フィールドごとに1つ) にすることができます。Once a synonym map is uploaded, you can point any searchable field to the synonym map (one per field).

ワークフローWorkflow

  1. シノニムマップの 作成を使用して、シノニムマップを追加します。Add a synonym map using Create Synonym Map.

  2. インデックス定義で、型が "Edm. String" または "Edm. Collection" の 検索 可能なフィールドのシノニムマップを参照します。Reference the synonym map on a searchable field of type Edm.String or Edm.Collection in the index definition. 更新インデックスを使用して、既存のフィールドにこのプロパティを追加できます。You can use Update Index to add this property to an existing field. フィールドプロパティは synonymMaps 、マップを指定します (フィールドごとに1つ)。A field property synonymMaps specifies the map (one per field). synonymMaps既存のフィールドのプロパティは、いつでも更新できます。You can update the synonymMaps properties of existing fields at any time.

  3. 通常どおりに、語句 (引用符で囲まれた語句) を使用してクエリを実行します。Query as usual, using terms or phrases (enclosed in quotation marks). Cognitive Search では、"hot 浴槽" などの2つの部分で構成される用語をフレーズとして表現する必要があります。そうしないと、各用語が個別に評価されます。In Cognitive Search, two-part terms, such as "hot tub", must be expressed as a phrase, otherwise each term is evaluated independently. "Hot 浴槽" に対してクエリを実行すると、検索エンジンによって、その語句だけでなく、定義されているシノニム (jacuzzi など) もスキャンされます。If you query for "hot tub", the search engine will scan for that phrase as well as any synonyms you have defined, such as jacuzzi.

Example

シノニムマップを作成したら、それをインデックス内の特定のフィールドに割り当てることができます。After you create a synonym map, you can assign it to specific fields in an index. 次のインデックス定義では、シノニムマップ ' mysynonymmap ' を使用するように ' name ' フィールドを構成しています。The index definition below configures the 'name' field to use the synonym map 'mysynonymmap'.

POST /indexes?api-version=2020-06-30
{
    "name":"myindex",
    "fields":[
    ...
        {
            "name":"name",
            "type":"Edm.String",
            "searchable":true,
            "analyzer":"en.lucene",
            "synonymMaps": [
                "mysynonymmap"
            ]
        }
    ...
}

シノニムマップに対する操作Operations on synonym maps

すべてのシノニムマップ操作には、管理者 API キーが必要です。An admin API key is required for all synonym map operations.

関連項目See also