Azure AI Search の moreLikeThis (プレビュー)
重要
この機能はパブリック プレビュー段階にあり、追加使用条件の下で提供されます。 この機能は、プレビュー REST API でサポートされます。
moreLikeThis=[key]
は、ドキュメント キーで指定されたドキュメントに類似するドキュメントを検索するドキュメントの検索 API のクエリ パラメーターです。 moreLikeThis
を指定して検索を要求すると、指定したドキュメントの内容を最も適切に説明する検索用語がドキュメントから抽出され、その用語を使用してクエリが生成されます。 生成されたクエリを使用して、検索要求が作成されます。 moreLikeThis
パラメーターは、search=[string]
検索パラメーターと一緒に使用することはきません。
既定では、最上位のすべての検索可能フィールドの内容が考慮されます。 代わりに特定のフィールドを指定する場合は、searchFields
パラメーターを使用します。
moreLikeThis
パラメーターは複合型ではサポートされておらず、複合型の存在はクエリ ロジックに影響します。 インデックスが複合型の場合は、searchFields
を、moreLikeThis
が反復処理を行う最上位の検索可能フィールドに設定する必要があります。 たとえば、Edm.String
型の検索可能な field1
と、検索可能なサブフィールドを持つ複合型の field2
がインデックスにある場合は、searchFields
の値を field1
に設定して、field2
を除外する必要があります。
例
以下のすべての例では、「クイック スタート: Azure portal で検索インデックスを作成する」のホテルのサンプルを使用します。
単純なクエリ
次のクエリは、説明フィールドの内容が moreLikeThis
パラメーターに指定されたソース ドキュメントのフィールドに最も類似しているドキュメントを検索します。
GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview
この例の要求では、HotelId
29 のホテルに類似したホテルを検索します。
HTTP GET を使用する代わりに、HTTP POST を使用して MoreLikeThis
を呼び出すこともできます。
POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
{
"moreLikeThis": "29",
"searchFields": "Description"
}
フィルターを適用します
MoreLikeThis
は、$filter
などの他の一般的なクエリ パラメーターと組み合わせることができます。 たとえば、クエリを使って、カテゴリが 'バジェット' で評価が 3.5 より高いホテルのみに制限できます。
GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&api-version=2024-05-01-preview
フィールドを選択して結果を制限する
$top
セレクターを使うと、MoreLikeThis
クエリで返される結果の数を制限できます。 また、$select
を使ってフィールドを選択することもできます。 ここでは、上位 3 つのホテルが ID、名前、評価と共に選択されています。
GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&$top=3&$select=HotelId,HotelName,Rating&api-version=2024-05-01-preview
次のステップ
この演習では、任意の REST クライアントを使用できます。