Dataverse の検索クエリ
クエリ操作は検索語句に基づいて検索結果を返します。
検索語句に加えて、返される結果は、次のパラメーターに渡される値によって影響を受ける可能性があります。
件名 | タイプ | Description | 詳細情報 |
---|---|---|---|
search |
string | 必須。 検索するための語句。 | search パラメーター |
count |
ブール値 | 合計レコード数を返すかどうか。 | count パラメーター |
entities |
string | 検索範囲をテーブルのサブセットに制限します。 | エンティティ パラメーター |
facets |
string | ファセットは、データ結果が取得された後にデータ結果にドリルダウンする機能をサポートします。 | facets パラメーター |
filter |
string | 返される検索結果の範囲を制限します。 | filter パラメーター |
options |
string | オプションは、検索語句 を検索するように構成された設定です。 | options パラメーター |
orderby |
string | 結果を優先順に並べる方法を指定します。 | orderby パラメーター |
skip |
int | スキップする検索結果の数を指定します。 | skip and top パラメーター |
top |
int | 取得する検索結果の数を指定します。 | skip and top パラメーター |
Parameters
このセクションには、上の表に導入されたパラメーターに関する詳細が含まれています。
search
パラメーター
種類: 文字列
オプション: 無効
search パラメーターには、検索するテキストが含まれます。 これが唯一の必須パラメーターです。 検索語句は、少なくとも 1 文字の長さがある必要があり、100 文字の制限があります。
単純な検索構文
既定では、search パラメーターは、次の表に示す単純な検索構文をサポートします。
機能 | 説明設定 |
---|---|
ブール演算子 | AND 演算子、+ で示されますOR 演算子、 | で示されますNOT 演算子、 - で示されます |
優先演算子 | 検索語句 hotel+(wifi | luxury) は、用語 hotel と wifi または luxury (または両方) を含む結果を検索します。 |
ワイルドカード | 末尾のワイルドカードがサポートされています。 たとえば、Alp* は「alpine」を検索します。 |
完全一致 | 引用符 " " で囲まれたクエリ。 |
注意
検索テキストの一部として検索演算子のいずれかを使用するには、文字の前に 1 つのバックスラッシュ (\
) を付けることで文字をエスケープします。 エスケープが必要な特殊文字には、次のものがあります: + - & | ! ( ) { } [ ] ^ " ~ * ? : \ /
。
たとえば、エスケープされた電話番号は次のようになります: \+1\(800\)555\-1234
。
options
パラメーターを使用すると、さまざまな演算子を有効にする Lucerne クエリ構文を有効にできます。
count
パラメーター
種類: ブール値
オプション: 有効
合計レコード数を返すかどうか。 このパラメーターを設定しない場合、Count
の応答プロパティは -1
になります。
entities
パラメーター
種類: 文字列
オプション: 有効
既定では、entities
パラメーターを使用してサブセットを指定しない限り、検索が有効になっているすべてのテーブルが検索されます。
エンティティを設定するときに、どの列を返したいか、どの列を検索するかを指定することもできます。 テーブルのフィルター条件を含めることもできます。
環境で有効になっているテーブルのリストを取得するには、Search Status APIを使用し、entitystatusresults
内で entitylogicalname
によってリストされているテーブルを探します。
SearchEntity タイプ
この型を使用して、entities
パラメーターに渡すテーブルの配列を作成します。
フィールド名 | タイプ | Description |
---|---|---|
name |
string | 必須。 テーブルの論理名です。 クエリの範囲を指定します。 |
selectColumns |
string[] | オプション。 テーブル ドキュメントが応答として返されるときに予測する必要がある列のリスト。 空の場合、テーブルのプライマリ名のみが返されます。 |
searchColumns |
string[] | オプション。 クエリのスコープを設定する列のリスト。 空の場合、テーブルのプライマリ名のみが検索されます。 |
filter |
string | オプション。 エンティティに適用されるフィルター。 |
例
以下は、上記のスキーマを使用する JSON データの例です。
[
{
"name":"account",
"selectColumns":["name","address1_city"],
"searchColumns":["name","address1_city"],
"filter":"modifiedon ge 2018-01-01T00:00:00Z"
},
{
"name":"contact",
"selectColumns":["fullname","address1_city"],
"searchColumns":["fullname","address1_city"],
"filter":"modifiedon ge 2018-01-01T00:00:00Z"
}
]
このデータを使用するには、文字列をエスケープし、リクエスト本文の entities
パラメーターの値として渡す必要があります。
{
"search": "maria",
"entities":"[{\"name\":\"account\",\"selectColumns\":[\"name\",\"address1_city\"],\"searchColumns\":[\"name\",\"address1_city\"],\"filter\":\"modifiedon ge 2018-01-01T00:00:00Z\"},{\"name\":\"contact\",\"selectColumns\":[\"fullname\",\"address1_city\"],\"searchColumns\":[\"fullname\",\"address1_city\"],\"filter\":\"modifiedon ge 2018-01-01T00:00:00Z\"}]"
}
facets
パラメーター
種類: 文字列
オプション: 有効
ファセットのパラメーターは任意です。 文字列には、カンマ区切りの名前と値のペアとして表現された、ファセットをカスタマイズするためのパラメーターが含まれる場合があります。 ファセットを使用して検索結果をグループ化します。
ファセットの定義
ファセットは文字列の配列として定義されます。次に例を示します。
[
"entityname,count:100",
"account:primarycontactid,count:100",
"ownerid,count:100",
"modifiedon,values:2019-04-27T00:00:00|2020-03-27T00:00:00|2020-04-20T00:00:00|2020-04-27T00:00:00",
"createdon,values:2019-04-27T00:00:00|2020-03-27T00:00:00|2020-04-20T00:00:00|2020-04-27T00:00:00"
]
配列内の各項目は、クエリによって返されたデータをグループ化するさまざまな方法を表します。 返されたプロパティごとに、次の表の値を使用して適切なファセットを指定できます。
ファセットの種類 | Description |
---|---|
count |
ファセット語句の最大数。 既定値は 10 です。 上限はない |
sort |
count 、-count 、value 、-value に設定することができます。 count を使用して count で降順で並べ替えます。 -count を使用して count で昇順で並べ替えます。 value を使用して value で昇順で並べ替えます。 -value を使用して value で降順で並べ替えます。 |
values |
ファセット エントリ値の動的なセットを指定するパイプ区切りの数値または Edm.DateTimeOffset 値に設定します。 期待される結果を得るには、値を昇順で連続してリストする必要があります。 |
interval |
数値の場合は 0 より大きい整数の間隔、日付時刻値の場合は分、時、日、週、月、四半期、年。 |
timeoffset |
([+-]hh:mm 、[+-]hhmm 、または [+-]hh ) に設定します。 timeoffset パラメーターを使用する場合は、Edm.DateTimeOffset タイプのフィールドに適用する場合にのみ、interval オプションと組み合わせる必要があります。 この値は、時間境界を設定する際に考慮される UTC 時間オフセットを指定します。 |
注意
count
および sort
は同じファセット仕様内で組み合わせることができますが、interval
または values
、および interval
および values
では組み合わせることはできません。
ファセットの定義を含むエスケープ文字列を使用して facets
値を設定します。
{
"search": "maria",
"facets": "[\"entityname,count:100\",\"account:primarycontactid,count:100\",\"ownerid,count:100\",\"modifiedon,values:2019-04-27T00:00:00|2020-03-27T00:00:00|2020-04-20T00:00:00|2020-04-27T00:00:00\",\"createdon,values:2019-04-27T00:00:00|2020-03-27T00:00:00|2020-04-20T00:00:00|2020-04-27T00:00:00\"]"
}
詳細情報:
- Azure Cognitive Search: 検索アプリにファセット ナビゲーションを追加する
- Azure Cognitive Search REST API >ドキュメントの検索 >クエリパラメーター
filter
パラメーター
種類: 文字列
オプション: 有効
フィルターが返される検索結果の範囲を制限します。 検索結果を改善するためにフィルタ―を使います。 これは、createdon
や modifiedon
などの複数のエンティティにわたる共通の列をフィルタリングするのに役立つトップレベルのフィルターです。
次の構文を使用してフィルターを適用します: <attribute logical name> <filter>
ここで、テーブルの論理名はフィルターを適用するエンティティを指定します。
フィルターは次の演算子を使用します。
Operator | Description | 例 |
---|---|---|
比較演算子 | ||
eq |
等しい | revenue eq 100000 |
ne |
等しくない | revenue ne 100000 |
gt |
より大きい | revenue gt 100000 |
ge |
以上 | revenue ge 100000 |
lt |
より小さい | revenue lt 100000 |
le |
以下 | revenue le 100000 |
論理演算子 | ||
and |
論理積 | revenue lt 100000 and revenue gt 2000 |
or |
論理和 | name eq 'sample' or name eq 'test' |
not |
論理否定 | not name eq 'sample' |
グループ化演算子 | ||
( ) |
優先順位のグループ化 | (name eq 'sample') or name eq 'test') and revenue gt 5000 |
options
パラメーター
種類: 文字列
オプション: 有効
オプションは、検索語句 を検索するように構成された設定です。 options
値をこれらのオプションのシリアル化 Dictionary<string, string>
("{'querytype': 'lucene', 'searchmode': 'all', 'besteffortsearchenabled': 'true', 'grouprankingenabled': 'true'}"
など) に設定します。
次の表は、オプションの一覧です。
回答内容 | Description |
---|---|
querytype |
値は simple または lucene Lucerne クエリ構文 |
besteffortsearchenabled |
検索要求語句に適切な一致が見つからなかった場合に、インテリジェントなクエリ ワークフローが可能性のある結果のセットを返すようにします。 |
groupranking |
結果がテーブルごとにグループ化されている検索結果ページでの表示用に最適化された応答内の結果のランキングを有効にします。 |
searchmode |
all として指定する場合、ドキュメントを一致として考慮するために、検索語の一部またはすべてを一致させる必要があります。 その値を any に設定すると、既定で検索語句内の任意の単語と一致します。 |
Lucerne クエリ構文
Lucene クエリ構文は、次の機能をサポートしています。
機能 | 説明 |
---|---|
ブール演算子 | 単純なクエリ構文と比較して、拡張されたセットを提供します。 AND 演算子: AND 、&& 、+ で示されるOR 演算子: OR 、|| で示されるNOT 演算子: NOT 、! 、– で示される |
ワイルドカード | 末尾のワイルドカードに加えて、先頭のワイルドカードもサポートします。 末尾のワイルドカード - alp* 行間のワイルドカード - /.*pine/ |
あいまい検索 | 最大 2 文字のスペルミスのあるクエリをサポートします。Uniersty~ は University を返すBlue~1 は glue 、blues を返す |
用語ブースト | クエリ内の特定の用語の重みが異なります。Rock^2 electronic は、electronic との一致よりも rock の一致の方が重要な結果を返します。 |
近接検索 | より文脈的な結果を得るために、用語が互いに x 語以内にある結果を返します。 たとえば、 "airport hotel"~5 は、airport と hotel が互いに 5 語以内の結果を返すため、空港の近くにあるホテルを見つける可能性が高くなります。 |
正規表現 (regex) 検索 | たとえば、/[mh]otel/ は motel や hotel に一致します。 |
orderby
パラメーター
種類: 文字列
オプション: 有効
orderby
パラメーターを使用して既定の順序を上書きします。 既定では、結果は関連性スコア (@search.score
) の降順で一覧表示されます。 スコアが同じ結果の場合、順序はランダムになります。 このパラメーターは、クエリ文字列にワイルドカード文字を含むクエリ タイプが lucene である場合にのみ使用できます。
asc
(既定の昇順) または desc
(降順) で続く列名で構成される各句でなるコンマ区切りの句の一覧を使用します。
複数のテーブルの種類を含む結果セットの場合、orderby
の句の一覧はグローバルに適用可能である必要があります (たとえば、modifiedon
、createdon
、@search.score
)。 たとえば、関連性によって (優先順位の順に) ランク付けされた結果を取得し、次に上位にリストされた最新の変更されたレコードを取得するには、次のようにします。
"orderby": ["@search.score desc", "modifiedon desc"]
クエリ要求に特定のテーブルの種類のフィルターが含まれる場合、orderby
はオプションでテーブル固有の列を指定できます。
skip
and top
パラメーター
タイプ: 整数
オプション: 有効
これらのパラメーターは、カウント パラメーターと一緒に使用し、ページングされたエクスペリエンスを作成します。
既定で、一度に最大 50 件の結果が返されます。 top
を使用して 100 まで上げることもできますが、より一般的には top
を使用して 10 などの小さい結果セットを指定し、skip
を使用して、ユーザーが次のページに移動したときに、以前に返された結果をバイパスします。
回答
クエリ操作からの応答は、JSON データを含むエスケープ文字列です。
エスケープされていない応答には、次のプロパティを使用する JSON が含まれています。
件名 | タイプ | Description |
---|---|---|
Error |
ErrorDetail | Azure Cognitive Search からのエラー情報を提供します。 |
Value |
QueryResult [] |
一致するレコードのコレクション。 |
Facets |
Dictionary<string, FacetResult[]> |
クエリでファセットが要求された場合は、ファセット値の辞書。 |
QueryContext |
QueryContext | このプロパティはバックエンド検索に使用されます。 これは今後の機能リリースに含まれ、現在は使用されていません。 |
Count |
long | もし "Count": true が要求本文に含まれる場合、先頭とスキップは無視した、検索に一致するすべてのドキュメントの数 |
応答のタイプ
このセクションでは、応答で返されるタイプについて説明します。
ErrorDetail
応答の一部として返された Azure Cognitive 検索エラー。
件名 | タイプ | Description |
---|---|---|
code |
string | エラー コード。 |
message |
string | エラー メッセージ。 |
propertybag |
Dictionary<string, object> |
その他のエラー情報。 |
QueryResult
応答 Value
プロパティで返された各 QueryResult
項目は、Dataverse のレコードを表します 。
件名 | タイプ | Description |
---|---|---|
Id |
string | レコードの一意識別子。 |
EntityName |
string | テーブルの論理名です。 |
ObjectTypeCode |
int | オブジェクトの種類コード |
Attributes |
Dictionary<string, object> |
記録属性 |
Highlights |
Dictionary<string, string[]> |
強調表示。 |
Score |
倍精度浮動小数点 | ドキュメント スコア。 |
FacetResult
特定の範囲内にあるフィールド、または特定の値または間隔を持つフィールドを持つドキュメントの数を報告するファセット クエリの結果。
件名 | タイプ | Description |
---|---|---|
count |
長い? | このファセットによって記述されるバケット内にあるドキュメントの数。 |
from |
オブジェクト | ファセットの範囲の包括的な下限を示す値、または下限がないことを示す null。 |
to |
オブジェクト | ファセットの範囲の包括的な上限を示す値、または上限がないことを示す null。 |
type |
Value | Range |
ファセットの種類。 |
value |
オブジェクト | ファセットの値、または間隔ファセットの場合はその値を含む下限。 |
optionalvalue |
オブジェクト | ルックアップのファセット中に設定される、ファセットの別の値またはオプションの値。 |
QueryContext
応答の一部として返されるクエリ コンテキスト。 このプロパティはバックエンド検索に使用されます。 これは今後の機能リリースに含まれ、現在は使用されていません。
件名 | タイプ | Description |
---|---|---|
originalquery |
string | リクエストで指定されたクエリ文字列。 |
alteredquery |
string | クエリを実行するために使用する Dataverse 検索のクエリ文字列。 元のクエリ文字列にスペルミスが含まれていた場合、または最適な結果が得られなかった場合、Dataverse 検索では変更されたクエリ文字列が使用されます。 |
reason |
string[] | Dataverse 検索によるクエリの変更決定の背後にある理由。 |
spellsuggestions |
string[] | ユーザーの意図を表す可能性の高い単語であるスペル修正の提案。 Dataverse がスペル チェックによりクエリ検索を変更した場合にのみ設定されます。 |
使用例
次の例は、クエリ操作の使用方法を示しています。 これらの例では、2022 年 8 月 15 日以降に作成されたレコードに対して、取引先企業テーブルと取引先担当者テーブルの name
列と fullname
列でそれぞれ検索操作を実行し、createdon
フィールドで降順に上位 7 件の結果を並べ替えます。
これは、GitHub の SDK for .NET 検索操作のサンプルからの例です。 OutputSearchQuery
静的メソッドは、検索パラメーターの値を受け入れます。
/// <summary>
/// Demonstrate query API
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance to use.</param>
/// <param name="searchTerm">The term to search for</param>
/// <returns></returns>
static void OutputSearchQuery(IOrganizationService service, string searchTerm)
{
Console.WriteLine("OutputSearchQuery START\n");
searchqueryRequest request = new() {
search = searchTerm,
count = true,
top = 7,
entities = JsonConvert.SerializeObject(new List<SearchEntity>()
{
new SearchEntity()
{
Name = "account",
SelectColumns = new List<string>() { "name", "createdon" },
SearchColumns = new List<string>() { "name" },
Filter = "statecode eq 0"
},
new SearchEntity()
{
Name = "contact",
SelectColumns = new List<string>() { "fullname", "createdon" },
SearchColumns = new List<string>() { "fullname" },
Filter = "statecode eq 0"
}
}),
orderby = JsonConvert.SerializeObject(new List<string>() { "createdon desc" }),
filter = "createdon gt 2022-08-15"
};
var searchqueryResponse = (searchqueryResponse)service.Execute(request);
var queryResults = JsonConvert.DeserializeObject<SearchQueryResults>(searchqueryResponse.response);
Console.WriteLine($"\tCount:{queryResults.Count}");
Console.WriteLine("\tValue:");
queryResults.Value.ForEach(result =>
{
Console.WriteLine($"\t\tId:{result.Id}");
Console.WriteLine($"\t\tEntityName:{result.EntityName}");
Console.WriteLine($"\t\tObjectTypeCode:{result.ObjectTypeCode}");
Console.WriteLine("\t\tAttributes:");
foreach (string key in result.Attributes.Keys)
{
Console.WriteLine($"\t\t\t{key}:{result.Attributes[key]}");
}
Console.WriteLine("\t\tHighlights:");
foreach (string key in result.Highlights.Keys)
{
Console.WriteLine($"\t\t\t{key}:");
foreach (string value in result.Highlights[key])
{
Console.WriteLine($"\t\t\t\t{value}:");
}
}
Console.WriteLine($"\t\tScore:{result.Score}\n");
});
Console.WriteLine("OutputSearchQuery END\n");
}
出力
searchTerm
を「Contoso」に設定して ServiceClient クラスの認証されたインスタンスで OutputSearchQuery
メソッドを呼び出す場合。
OutputSearchQuery(service: serviceClient, searchTerm: "Contoso");
出力は次のようになります。
OutputSearchQuery START
Count:1
Value:
Id:8b35eda1-ef69-ee11-9ae7-000d3a88a4a2
EntityName:account
ObjectTypeCode:0
Attributes:
@search.objecttypecode:1
name:Contoso Pharmaceuticals (sample)
createdon:10/13/2023 5:41:21 PM
createdon@OData.Community.Display.V1.FormattedValue:10/13/2023 5:41 PM
Highlights:
name:
{crmhit}Contoso{/crmhit} Pharmaceuticals (sample):
Score:4.986711
OutputSearchQuery END
サポートするクラス
OutputSearchQuery
メソッドは、次のサポートするクラスに基づいて要求を送信し、結果を処理します。
searchstatisticsRequest クラスおよび searchstatisticsResponse クラス
これらのクラスは、.NET 用 SDK の事前バインド クラスを生成するで説明されているように、Power Platform CLI pac modelbuilder build コマンドを使用して生成されます。
SearchEntity クラス
SearchEntity タイプ データを作成するために使用されます。
public sealed class SearchEntity
{
/// <summary>
/// Gets or sets the logical name of the table. Specifies scope of the query.
/// </summary>
[DataMember(Name = "name", IsRequired = true)]
public string Name { get; set; }
/// <summary>
/// Gets or sets the list of columns that needs to be projected when table documents are returned in response.
/// If empty, only PrimaryName will be returned.
/// </summary>
[DataMember(Name = "selectcolumns")]
public List<string> SelectColumns { get; set; }
/// <summary>
/// Gets or sets the list of columns to scope the query on.
/// If empty, only PrimaryName will be searched on.
/// </summary>
[DataMember(Name = "searchcolumns")]
public List<string> SearchColumns { get; set; }
/// <summary>
/// Gets or sets the filters applied on the entity.
/// </summary>
[DataMember(Name = "filter")]
public string Filter { get; set; }
}
SearchQueryResults クラス
searchqueryResponse.response
文字列プロパティから JSON データを逆シリアル化するために使用します。
public sealed class SearchQueryResults
{
/// <summary>
/// Provides error information from Azure Cognitive search.
/// </summary>
public ErrorDetail? Error { get; set; }
/// <summary>
/// A collection of matching records.
/// </summary>
public List<QueryResult>? Value { get; set; }
/// <summary>
/// If facets were requested in the query, a dictionary of facet values.
/// </summary>
public Dictionary<string, IList<FacetResult>>? Facets { get; set; }
/// <summary>
/// The query context returned as part of response. This property is used for backend search. It is included for future feature releases and is not currently used.
/// </summary>
public QueryContext? QueryContext { get; set; }
/// <summary>
/// If `"Count": true` is included in the body of the request, the count of all documents that match the search, ignoring top and skip.
/// </summary>
public long Count { get; set; }
}
ErrorDetail クラス
ErrorDetail データを逆シリアル化するために使われます。
public sealed class ErrorDetail
{
/// <summary>
/// Gets or sets the error code.
/// </summary>
[DataMember(Name = "code")]
public string Code { get; set; }
/// <summary>
/// Gets or sets the error message.
/// </summary>
[DataMember(Name = "message")]
public string Message { get; set; }
/// <summary>
/// Gets or sets additional error information.
/// </summary>
[DataMember(Name = "propertybag")]
public Dictionary<string, object> PropertyBag { get; set; }
}
QueryResult クラス
QueryResult データを逆シリアル化するために使われます。
public sealed class QueryResult
{
/// <summary>
/// Gets or sets the identifier of the record
/// </summary>
public string Id { get; set; }
/// <summary>
/// Gets or sets the logical name of the table
/// </summary>
public string EntityName { get; set; }
/// <summary>
/// Gets or sets the object type code
/// </summary>
public int ObjectTypeCode { get; set; }
/// <summary>
/// Gets or sets the record attributes
/// </summary>
public Dictionary<string, object> Attributes { get; set; }
/// <summary>
/// Gets or sets the highlights
/// </summary>
public Dictionary<string, string[]> Highlights { get; set; }
// Gets or sets the document score
public double Score { get; set; }
}
FacetResult クラス
FacetResult データを逆シリアル化するために使われます。
public sealed class FacetResult
{
/// <summary>
/// Gets or sets the count of documents falling within the bucket described by this facet.
/// </summary>
[DataMember(Name = "count")]
public long? Count { get; set; }
/// <summary>
/// Gets or sets value indicating the inclusive lower bound of the facet's range, or null to indicate that there is no lower bound.
/// </summary>
[DataMember(Name = "from")]
public object From { get; set; }
/// <summary>
/// Gets or sets value indicating the exclusive upper bound of the facet's range, or null to indicate that there is no upper bound.
/// </summary>
[DataMember(Name = "to")]
public object To { get; set; }
/// <summary>
/// Gets or sets type of the facet - Value or Range.
/// </summary>
[DataMember(Name = "type")]
public FacetType Type { get; set; }
/// <summary>
/// Gets or sets value of the facet, or the inclusive lower bound if it's an interval facet.
/// </summary>
[DataMember(Name = "value")]
public object Value { get; set; }
/// <summary>
/// Gets or sets additional/ Optional value of the facet, will be populated while faceting on lookups.
/// </summary>
[DataMember(Name = "optionalvalue")]
public object OptionalValue { get; set; }
}
FacetType クラス
ファセット クエリ結果のタイプを指定します。
public enum FacetType
{
/// <summary>
/// The facet counts documents with a particular field value.
/// </summary>
[EnumMember(Value = "value")]
Value = 0,
/// <summary>
/// The facet counts documents with a field value in a particular range.
/// </summary>
[EnumMember(Value = "range")]
Range = 1,
}
QueryContext クラス
QueryContext データを逆シリアル化するために使われます。
public sealed class QueryContext
{
/// <summary>
/// Gets or sets the query string as specified in the request.
/// </summary>
[DataMember(Name = "originalquery")]
public string OriginalQuery { get; set; }
/// <summary>
/// Gets or sets the query string that Dataverse search used to perform the query.
/// Dataverse search uses the altered query string if the original query string contained spelling mistakes or did not yield optimal results.
/// </summary>
[DataMember(Name = "alteredquery")]
public string AlteredQuery { get; set; }
/// <summary>
/// Gets or sets the reason behind query alter decision by Dataverse search.
/// </summary>
[DataMember(Name = "reason")]
public List<string> Reason { get; set; }
/// <summary>
/// Gets or sets the spell suggestion that are the likely words that represent user's intent.
/// This will be populated only when the query was altered by Dataverse search due to spell check.
/// </summary>
[DataMember(Name = "spellsuggestions")]
public List<string> SpellSuggestions { get; set; }
}
参照
Dataverse のレコードを検索する
Dataverse の検索の提案
Dataverse の検索のオートコンプリート
Dataverse の統計と状態を検索する
Dataverse のレガシ検索
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。