Azure Search でデータを問い合わせるための Search エクスプローラーSearch explorer for querying data in Azure Search

この記事では、Azure Portal で Search エクスプローラーを使用して、既存の Azure Search インデックスのクエリを実行する方法について説明します。This article shows you how to query an existing Azure Search index using Search explorer in the Azure portal. Search エクスプローラーを使用すると、サービス内の既存のインデックスに対して単純または完全な Lucene クエリ文字列を送信できます。You can use Search explorer to submit simple or full Lucene query strings to any existing index in your service.

ポータルの [Search エクスプローラー] コマンドSearch explorer command in portal

作業を開始する際にガイドが必要な場合は、「Search エクスプローラーの起動方法」を参照してください。For help getting started, see Start Search explorer.

基本的な検索文字列Basic search strings

以下の例では、組み込みの不動産サンプル インデックスを前提としています。The following examples assume the built-in realestate sample index. このインデックスの作成については、「クイック スタート: Azure portal でのインポート、インデックス付け、クエリに関するクイック スタートを参照してください。For help creating this index, see Quickstart: Import, index, and query in Azure portal.

まずは内容を見るために、語句を指定せずに [検索] をクリックして空の検索を実行します。For a first look at your content, execute an empty search by clicking Search with no terms provided. 空の検索は最初のクエリとして役に立ちます。ドキュメント全体が返されるので、ドキュメントの構成を確認できるからです。An empty search is useful as a first query because it returns entire documents so that you can review document composition. 空の検索では検索順位がなく、ドキュメントが任意の順序で返されます (すべてのドキュメントで "@search.score": 1)。On an empty search, there is no search rank and documents are returned in arbitrary order ("@search.score": 1 for all documents). 既定では、50 個のドキュメントが検索要求で返されます。By default, 50 documents are returned in a search request.

空の検索に相当する構文は * または search=* です。Equivalent syntax for an empty search is * or search=*.

search=*

結果Results

空のクエリの例Empty query example

自由形式のクエリは、演算子の有無に関係なく、カスタム アプリから Azure Search に送信されるユーザー定義のクエリをシミュレートするのに便利です。Free-form queries, with or without operators, are useful for simulating user-defined queries sent from a custom app to Azure Search. クエリ語句または式を指定すると検索順位が機能することに注目してください。Notice that when you provide query terms or expressions, search rank comes into play. 次にフリー テキスト検索の例を示します。The following example illustrates a free text search.

Seattle apartment "Lake Washington" miele OR thermador appliance

結果Results

CTRL + F キーを使用して、関心のある特定の語句を結果内で検索できます。You can use Ctrl-F to search within results for specific terms of interest.

フリー テキスト クエリの例Free text query example

例 3 - 一致するドキュメントのカウントExample 3 - count of matching documents

$count を追加して、インデックスで見つかった一致の数を取得します。Add $count to get the number of matches found in an index. 空の検索では、カウントはインデックス内のドキュメントの合計数です。On an empty search, count is the total number of documents in the index. 修飾された検索では、これはクエリ入力と一致するドキュメントの数です。On a qualified search, it's the number of documents matching the query input.

$count=true

結果Results

ドキュメントのカウントの例Count of documents example

例 4 - 検索結果のフィールドを制限するExample 4 - restrict fields in search results

Search エクスプローラーで出力を読みやすくするために、 $select を追加して、明示的に指定されたフィールドに結果を制限します。Add $select to limit results to the explicitly named fields for more readable output in Search explorer. 検索文字列と $count=true を維持するには、引数の前に & を付けます。To keep the search string and $count=true, prefix arguments with &.

search=seattle condo&$select=listingId,beds,baths,description,street,city,price&$count=true

結果Results

フィールドの制限の例Limit fields example

例 5 - 結果の次のバッチを返すExample 5 - return next batch of results

Azure Search は、検索順位に基づいて上位 50 の一致を返します。Azure Search returns the top 50 matches based on the search rank. 一致するドキュメントの次のセットを取得するには、「 $top=100,&$skip=50」を追加して、結果セットを 100 個のドキュメントに増やし (既定値は 50、最大は 1,000)、最初の 50 個のドキュメントをスキップします。To get the next set of matching documents, append $top=100,&$skip=50 to increase the result set to 100 documents (default is 50, maximum is 1000), skipping the first 50 documents. 順位付けされた結果を取得するには、クエリ語句や式など、検索条件を指定する必要があることを思い出してください。Recall that you need to provide search criteria, such as a query term or expression, to get ranked results. 取得する検索結果が低位になるほど検索スコアが減少することに注目してください。Notice that search scores decrease the deeper you reach into search results.

search=seattle condo&$select=listingId,beds,baths,description,street,city,price&$count=true&$top=100&$skip=50

結果Results

バッチ検索結果Batch search results

フィルター式 (より大きい、より小さい、等しい)Filter expressions (greater than, less than, equal to)

フリー テキスト検索ではなく正確な条件を指定したい場合は $filter パラメーターを使用します。Use the $filter parameter when you want to specify precise criteria rather than free text search. この例では、3 より大きいベッドルームを検索します。This example searches for bedrooms greater than 3:

search=seattle condo&$filter=beds gt 3&$count=true

結果Results

フィルター式Filter expression

orderby 式Order-by expressions

$orderby を追加して、検索スコアに加えて別のフィールドを基準に結果を並べ替えます。Add $orderby to sort results by another field besides search score. これをテストするために使用できる式の例:An example expression you can use to test this out is:

search=seattle condo&$select=listingId,beds,price&$filter=beds gt 3&$count=true&$orderby=price asc

結果Results

orderby 式Orderby expression

$filter 式と $orderby 式はどちらも OData 構文です。Both $filter and $orderby expressions are OData constructions. 詳細については、フィルターの OData 構文に関するページを参照してください。For more information, see Filter OData syntax.

Search エクスプローラーの起動方法How to start Search explorer

  1. Azure portal でダッシュボードから検索サービス ページを開くか、サービスの一覧でご自分のサービスを見つけます。In the Azure portal, open the search service page from the dashboard or find your service in the service list.

  2. サービスの概要ページで、 [Search エクスプローラー] をクリックします。In the service overview page, click Search explorer.

    ポータルの [Search エクスプローラー] コマンドSearch explorer command in portal

  3. クエリを実行するインデックスを選択します。Select the index to query.

    クエリを実行するインデックスの選択Select the index to query

  4. 必要に応じて、API バージョンを設定します。Optionally, set the API version. 既定では現在一般提供されている API バージョンが選択されますが、使用したい構文がバージョン固有である場合はプレビューまたは以前の API を選択できます。By default, the current generally available API version is selected, but you can choose a preview or older API if the syntax you want to use is version-specific.

  5. インデックスと API バージョンを選択したら、検索語句または完全修飾クエリ式を検索バーに入力し、 [検索] をクリックして実行します。Once the index and API version is selected, enter search terms or fully qualified query expressions in the search bar and click Search to execute.

    検索語句の入力と [検索] のクリックEnter search terms and click Search

Search エクスプローラーでの検索のヒント:Tips for searching in Search explorer:

  • 結果は詳細な JSON ドキュメントとして返されます。そのため、ドキュメントの構成と内容を完全に確認できます。Results are returned as verbose JSON documents so that you can view document construction and content, in entirety. 例で示されているように、クエリ式を使用して、返されるフィールドを制限できます。You can use query expressions, shown in the examples, to limit which fields are returned.

  • ドキュメントは、インデックスで取得可能としてマークされているすべてのフィールドで構成されます。Documents are composed of all fields marked as Retrievable in the index. ポータルでインデックスの属性を確認するには、検索の概要ページの [インデックス] 一覧で realestate-us-sample をクリックします。To view index attributes in the portal, click realestate-us-sample in the Indexes list on the search overview page.

  • 商用 Web ブラウザーで入力することがあるような自由形式のクエリは、エンドユーザーのエクスペリエンスをテストするのに便利です。Free-form queries, similar to what you might enter in a commercial web browser, are useful for testing an end-user experience. たとえば、組み込みの不動産サンプル インデックスがあるとしたら、「Seattle apartments lake washington」と入力できます。そして、CTRL + F キーを使用して検索結果内で語句を見つけることができます。For example, assuming the built-in realestate sample index, you could enter "Seattle apartments lake washington", and then you can use Ctrl-F to find terms within the search results.

  • クエリ式とフィルター式は、Azure Search でサポートされている構文で明記される必要があります。Query and filter expressions must be articulated in a syntax supported by Azure Search. 既定値は単純な構文です。しかし、必要に応じて完全な Lucene を使用し、より強力なクエリを実行できます。The default is a simple syntax, but you can optionally use full Lucene for more powerful queries. フィルター式は OData 構文です。Filter expressions are an OData syntax.

次の手順Next steps

クエリ構文のその他の情報や例については、次のリソースを参照してください。The following resources provide additional query syntax information and examples.