オートコンプリートの結果とインスタント結果により推奨されたレコードの検索
名前がユーザの検索文字列と一致した推奨レコードのリストを返します。この推奨リソースは、ユーザが全文検索を実行する前に、関連する可能性のあるレコードに直接移動するためのオートコンプリートの結果とインスタント結果を提供します。
構文
- URI
- /services/data/vXX.X/search/suggestions?q=search_string&sobject=object_types
- 適用開始バージョン
- 32.0
- 形式
- JSON、XML
- HTTP のメソッド
- GET
- 認証
- Authorization: Bearer token
- リクエストボディ
- 不要
- 要求パラメータ
-
パラメータ 説明 fields 省略可能。ルックアップクエリの作成に使用します。カンマ区切りのリストを使用して複数の項目を指定します。応答で返される参照項目を指定します。 dynamicFields 省略可能。API バージョン 48.0 以降で使用できます。追加の動的項目を返すために使用されます。複数のオプションを指定するには、カンマ区切りのリストを使用します。たとえば、dynamicFields=secondaryField の場合、検索レイアウトの次の対象項目に基づいて、Id および Name (または Title) 以外の項目が結果の各推奨レコードに追加されます。 groupId 省略可能。返される質問が投稿されたグループの一意の識別子を指定します。カンマ区切りのリストを使用して複数のグループを指定します。このパラメータは、パラメータの type が question の場合にのみ適用されます。userId と併せて使用しないでください。 ignoreUnsupportedSObjects 省略可能。要求にサポート対象外のオブジェクトが含まれている場合、このパラメータは、実行するアクションを指定します。false に設定した場合は、エラーが返されます。true に設定した場合は、オブジェクトが無視され、エラーは返されません。「サポート対象外のオブジェクト」セクションを参照してください。デフォルトは、false です。 limit 省略可能。返される推奨レコードの最大数を指定します。制限が指定されていない場合、デフォルトで 5 レコードが返されます。指定された制限を超える推奨レコードが存在すると、レスポンスボディの hasMoreResults プロパティが true になります。 networkId 省略可能。質問が返される Experience Cloud サイトの一意の識別子を 1 つ以上指定します。カンマ区切りのリストを使用して複数のサイトを指定します。このパラメータは、パラメータの type が question の場合、またはパラメータの sobject が user の場合にのみ適用されます。 q 必須。適切に URL 符号化された、ユーザの検索クエリ文字列。ユーザの検索クエリ文字列が最小長要件 (中国語、日本語、韓国語、タイ語の場合は 1 文字、その他の言語の場合は 3 文字) を満たしている場合にのみ、推奨クエリが返されます。クエリ文字列が最大長である 255 文字 (または区切りの空白なしの連続した 200 文字) を超えると、エラーが返されます。 sobject 必須。Account や offer__c など、検索の範囲となるオブジェクト。 sobject の値が feedItem の場合は、type パラメータが必須となり、その値として question を設定する必要があります。
カンマ区切りのリストを使用して最大 10 個のオブジェクトを指定します。たとえば、sobject=Account,Contact,Lead のように記述します。この機能を利用するには、[CrossObjectTypeahead] 権限を有効にします。
オブジェクトごとに返す特定の項目を指定するには、次の構文を使用します。複数の項目にはカンマ区切りのリストを使用します。sobject は小文字です。1sobject=sobject.fields=fields次に例を示します。
1&sobject=Account,Contact,Lead&account.fields=Website,Phone 2&contact.fields=PhonetopicId 省略可能。返される質問がタグ付けされた単一のトピックの一意の識別子を指定します。このパラメータは、パラメータの type が question の場合にのみ適用されます。 type sobject の値が feedItem である場合は必須です。sobject のその他すべての値に対してこのパラメータを含めると、クエリには影響しません。フィードの種別が質問であることを指定します。有効な値: question。 userId 省略可能。返される質問を作成したユーザの一意の識別子を指定します。カンマ区切りのリストを使用して複数のユーザを指定します。このパラメータは、パラメータの type が question の場合にのみ適用されます。groupId と併せて使用しないでください。 useSearchScope 省略可能。API バージョン 40.0 以降で使用できます。デフォルト値は、false です。false の場合、要求で指定されたオブジェクトを使用してレコードが提案されます。true の場合、要求で指定されたオブジェクトのほかに、ユーザの検索範囲を使用してレコードが提案されます。検索範囲は、ユーザが最も頻繁に使用するオブジェクトのリストです。 - 要求でオブジェクトが指定されない場合は、useSearchScope=true が使用されます。
- useSearchScope=true でユーザの検索範囲が空白の場合、デフォルトの検索範囲を使用してレコードが提案されます。
- 通常は、最初の 10 個のオブジェクトのみがレコードの提案に使用されます。ただし、システム管理者は、結果が返されるときに常に考慮されるオブジェクトを割り当てることができます。設定すれば、最大 15 個のオブジェクトがレコードの提案に使用されます。オブジェクトの割り当てについての詳細は、「Assign Search Results Objects to Users (Beta) (検索結果オブジェクトのユーザへの割り当て (ベータ))」を参照してください。
- sobject パラメータで指定されたオブジェクトは、ユーザの検索範囲内のオブジェクトよりも優先されます。
- ignoreUnsupportedSObjects パラメータの値は検索範囲内のオブジェクトには適用されません。
この例では、検索範囲のみを使用します。1.../search/suggestions?q=Acme&useSearchScope=trueこの例では、検索範囲と Account オブジェクトを使用します。1.../search/suggestions?q=Acme&sobject=Account&useSearchScope=truewhere 省略可能。SOQL の WHERE 句と同じ構文に従う検索条件。URL は式を符号化します。 オブジェクトの句を使用するか、互換性のあるすべてのオブジェクトの句をグローバルに使用します。オブジェクト固有の句の例: account.where=name%20LIKE%20%27Smith%25%27。グローバルな句の例: where=name%20LIKE%20%27Smith%25%27。パラメータは小文字である必要があります。オブジェクト固有の where 句は、グローバルな where 句よりも優先されます。このパラメータは Question オブジェクトには使用できません。
複数のエンティティを指定する場合は、以下の例を参照してください。この機能はバージョン 38.0 以降で使用できます。
1...search/suggestions?q=Smith 2&sobject=Account,Contact,KnowledgeArticleVersion,CollaborationGroup,Topic,FeedItem 3// Specifies a global where clause (to filter Account and Contact) 4&where=name%20LIKE%20%27Smith%25%27 5// Overrides the global where clause for Knowledge Article 6(filtering by PublishStatus and Language is required for KnowledgeArticle) 7&knowledgearticleversion.where=PublishStatus='online'+and+language='en_US' 8// Overrides the global where clause for Topic 9&topic.where=networkid=<1234567891> 10// Overrides the global where clause for CollaborationGroup 11&collaborationgroup.where=networkid=<1234567891> 12// FeedItem-Question doesn't support where clauses, but we can filter 13the type and networkId&type=question 14&networkId==<1234567891>
使用方法
この推奨リソースは、レコード名項目が検索文字列と一致するテキストを含む場合にレコードを返します。検索文字列内の最後の文字と、単語の先頭の一致も検出されます。1 語内に検索文字列が含まれるレコードは、一致とは見なされません。
例
テキスト文字列 national u は national u* として扱われ、「National Utility」、「National Urban Company」、「First National University」が返されます。
推奨レコード応答
この推奨リソースは、関連する可能性があり、ユーザがアクセス可能なレコードに関する、表示可能な状態のデータを返します。
関連性アルゴリズムは結果の順序を決定します。
結果内の各推奨レコードには、次の要素が含まれます。
| 要素 | 説明 |
|---|---|
| Attributes | レコードのオブジェクト種別とレコードにアクセスするための URL。 要求された参照項目の値も含まれます。たとえば、fields=Id,Name を要求した場合、結果には ID と名前が含まれます。 |
| Name (または Title) | レコードの名前項目。標準の名前項目がない場合、次のオブジェクトには標準のタイトル項目が使用されます。
|
| Id | レコードの一意の識別子。 |
JSON レスポンスボディの例
1{
2 "autoSuggestResults" : [ {
3 "attributes" : {
4 "type" : "Account",
5 "url" : "/services/data/v54.0/sobjects/Account/001xx000003DH6WAAW"
6 },
7 "Id" : "001xx000003DH6WAAW",
8 "Name" : "National Utility Service"
9 }, {
10 {
11 "attributes" : {
12 "type" : "Account",
13 "url" : "/services/data/v54.0/sobjects/Account/001xx000003DHJ4AAO"
14 },
15 "Id" : "001xx000003DHJ4AAO",
16 "Name" : "National Utility Service"
17 }, {
18 {
19 "attributes" : {
20 "type" : "Account",
21 "url" : "/services/data/v54.0/sobjects/Account/001xx000003DHscAAG"
22 },
23 "Id" : "001xx000003DHscAAG",
24 "Name" : "National Urban Technology Center"
25 } ],
26 "hasMoreResults" : false,
27 "meta" : {
28 "nameFields" : [ {
29 "entityApiName" : "Account",
30 "fieldApiName" : "Name"
31 } ],
32 "secondaryFields" : [ ]
33 }
34}複数オブジェクト要求の JSON レスポンスボディの例
1{
2 "autoSuggestResults" : [ {
3 "attributes" : {
4 "type" : "Account",
5 "url" : "/services/data/v54.0/sobjects/Account/001xx000003DMEKAA4"
6 },
7 "Id" : "001xx000003DMEKAA4"
8 "Name" : "Joe Doe Printing"
9 }, {
10 {
11 "attributes" : {
12 "type" : "Account",
13 "url" : "/services/data/v54.0/sobjects/Account/001xx000003DLjvAAG"
14 },
15 "Id" : "001xx000003DLjvAAGO"
16 "Name" : "Joe Doe Plumbing"
17 }, {
18 {
19 "attributes" : {
20 "type" : "Contact",
21 "url" : "/services/data/v54.0/sobjects/Contact/003xx000004U9Y9AAK"
22 },
23 "Id" : "003xx000004U9Y9AAK"
24 "Name" : "John Doe"
25 } ],
26 "hasMoreResults" : false,
27 "meta" : {
28 "nameFields" : [ {
29 "entityApiName" : "Account",
30 "fieldApiName" : "Name"
31 }, {
32 "entityApiName" : "Contact",
33 "fieldApiName" : "Name"
34 } ],
35 "secondaryFields" : [ ]
36 }
37}XML レスポンスボディの例
1<?xml version=”1.0” encoding=”UTF-8”?
2<suggestions>
3 <autoSuggestResults type="Account" url="/services/data/v54.0/sobjects/Account/001xx000003DH6WAAW">
4 <Id>001xx000003DH6WAAW</Id>
5 <Name>National Utility Service</Name>
6 </autoSuggestResults>
7 <autoSuggestResults type="Account" url="/services/data/v54.0/sobjects/Account/001xx000003DHJ4AAO">
8 <Id>001xx000003DHJ4AAO</Id>
9 <Name>National Utility Service</Name>
10 </autoSuggestResults>
11 <autoSuggestResults type="Account" url="/services/data/v54.0/sobjects/Account/001xx000003DHscAAG">
12 <Id>001xx000003DHscAAG</Id>
13 <Name>National Urban Technology Center</Name>
14 </autoSuggestResults>
15 <hasMoreResults>true</hasMoreResults>
16 <meta>
17 <nameFields>
18 <entityApiName>Account</entityApiName>
19 <fieldApiName>Name</fieldApiName>
20 </nameFields>
21 <nameFields>
22 <entityApiName>ContentDocument</entityApiName>
23 <fieldApiName>Title</fieldApiName>
24 </nameFields>
25 </meta>
26</suggestions>サポート対象外のオブジェクト
この推奨リソースでは、次を除くすべての検索可能オブジェクトがサポートされます。
- ContentNote
- Event
- 外部オブジェクト
- FeedComment
- FeedPost
- IdeaComment
- Pricebook2
- Reply
- TagDefinition
- Task