Studioでは、次のQueryConfig関数が提供されています。これらは、問合せによって返される結果の管理に使用されます。これらは、コンポーネント開発のための、より高度な関数です。
各QueryConfig関数には通常、DiscoveryServiceUtils内に、結果を取得するための対応する関数があります。
QueryConfig関数は、コンポーネント固有の結果を取得するために最も多く使用されます。そのため、QueryConfig関数は、同じデータにバインドされているすべてのコンポーネントに影響を与えるため、setQueryState()を使用してアプリケーション・データ・ドメインに永続化しないでください。そのかわりに、QueryConfig関数は、コンポーネントのQueryStateオブジェクトのローカル・コピーにのみ追加してください。
使用可能なQueryConfig関数は次のとおりです。
ここに記載した情報以外のQueryConfig関数の詳細は、Studio APIリファレンスを参照してください。
検索ボックス内の先行入力に使用されます。たとえば、「ガイド付きナビゲーション」で、ある属性の使用可能な値のリストを絞り込むために使用されます。
AttributeValueSearchConfigのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
searchTerm | String
属性値内で検索する用語。 |
maxValuesToReturn | int(オプション)
返される、一致する値の最大数。 値が指定されない場合、デフォルトは10です。 |
attribute | String(オプション)
検索対象の属性の属性キー。 単一の属性に対して検索を実行するには、attributeプロパティを使用します。複数の属性に対して検索を実行するには、searchWithinを使用します。 |
searchWithin | List<String>(オプション)
一致する値の検索対象の属性のリスト。 |
matchMode | ALL|PARTIAL|ANY|ALLANY|ALLPARTIAL|PARTIALMAX|BOOLEAN(オプション)
検索で使用する一致モード。 |
relevanceRankingStrategy | String(オプション)
検索時に使用する関連性のランキング方法の名前。 |
次の例では、WineType属性値内でredという用語が検索されます。
AttributeValueSearchConfig attributeValueSearchConfig = new AttributeValueSearchConfig("red", "WineType");
問合せに関連付けられている絞込みを返すために使用されます。階層属性値のフルパスを表示するかどうかを指定できます。
BreadcrumbsConfigのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
returnFullPath | Boolean (オプション)
管理対象の階層属性について、選択された値のフルパスを返すかどうか。 デフォルトはtrueで、フルパスを返すことを示します。 フルパスを返さないようにするには、これをfalseに設定します。 |
この例では、絞込みを返しますが、管理対象の階層属性のフルパスは返しません。
BreadcrumbsConfig breadcrumbsConfig = new BreadcrumbsConfig(false);
NavConfig関数からの結果に影響を与えます。使用可能な絞込みを実装するために使用されます。グループ内で使用可能な属性を表示するかどうか、および属性に対して使用可能な絞込みを表示するかどうかを制御します。
ExposeRefinementのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
dimValId | String
選択された属性値のID。 管理対象属性階層内の次のレベルの使用可能な値を表示している場合は、属性値のIDを指定します。 |
dimensionId | String
属性の名前を指定します。 少なくとも1つのdimValIdまたはdimensionIdを指定する必要があります。 |
ownerId | String(オプション)
関連付けられているNavConfigインスタンスのID。 指定しない場合、最初のNavConfigインスタンスが使用されます。 |
dimExposed | Boolean (オプション)
属性に対して使用可能な値を(maxRefinementsで指定されている数まで)表示するかどうか。 デフォルトはtrueです。 |
exposeAll | Boolean (オプション)
使用可能な値の完全なリストを表示するかどうか。 たとえば、「使用可能な絞込み」コンポーネントでは、「詳細」リンクが選択されているかどうかを示します。 デフォルトは、falseです。 |
maxRefinements | Integer (オプション)
表示する、使用可能な値の最大数。 デフォルトは1000です。 |
groupKey | String(必須)
グループの名前。 |
groupExposed | boolean(オプション)
指定されたグループ内の属性をすべて表示するかどうか。 デフォルトはtrueです。 |
次の例では、Characteristicsグループ内のFlavors属性に対して使用可能な属性が表示されます。
ExposeRefinement exposeRefinement = new ExposeRefinement("/", "Flavors", "Characteristics");
現在のフィルタの状態に加えて、EQL問合せを実行します。
LQLQueryのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
LQLQuery | AST
追加するEQL問合せ。 問合せ文字列からASTを取得するには、DataSource.parseLQLQueryをコールします。 |
次の例では、Region別にグループ化されたP_Price属性の平均を取得します。
Query query = dataSource.parseLQLQuery("return mystatement as select avg(P_Price) as avgPrice group by Region", true); LQLQueryConfig lqlQueryConfig = new LQLQueryConfig(query);
「使用可能な絞込み」コンポーネントなどで、ナビゲーション・メニューの取得に使用されます。
NavConfigのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
exposeAllRefinements | Boolean
属性に対して使用可能な値をすべて表示するかどうか。 メニューの初期状態を決定します。関連付けられているExposeRefinement関数は、この後適用されます。 デフォルトはFALSEです。 |
List<RefinementGroupConfigs> | 使用可能な属性を返す対象のグループのリスト。
RefinementGroupConfigsが指定されていない場合、属性グループまたは属性は返されません。 |
次の例では、SourceおよびCharacteristicsグループ内の属性が返されます。
List<RefinementGroupConfig> refinementGroups = new ArrayList<RefinementGroupConfig>(); RefinementGroupConfig source = new RefinementGroupConfig(); source.setName("Source"); source.setExpose(true); refinementGroups.add(source); RefinementGroupConfig characteristics = new RefinementGroupConfig(); characteristics.setName("Characteristics"); characteristics.setExpose(true); refinementGroups.add(characteristics); NavConfig navConfig = new NavConfig(); navConfig.setRefinementGroupConfig(refinementGroups);
選択されたレコードの詳細をアセンブルする属性のキーと値のペアを送信します。属性と値のペアのセット一式で、レコードを一意に識別できる必要があります。
RecordDetailsConfigのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
recordSpecs | List<RecordSpec>
新しいRecordDetailsConfigがそれぞれ、前のRecordDetailsConfigに追加されます。 |
次の例では、P_WineID属性の値が送信されます。
List<RecordSpec> recordSpecs = new ArrayList<RecordSpec>(); recordSpecs.add(new RecordSpec("P_WineID", "37509")); RecordDetailsConfig recordDetailsConfig = new RecordDetailsConfig(recordSpecs);
返されたレコードの管理に使用されます。レコードのページングが可能です。
ResultsConfigのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
recordsPerPage | LONG
一度に返すレコード数。 |
offset | LONG (オプション)
開始する、リスト内の位置。最初のレコードは、位置0です。 たとえば、recordsPerPageが10である場合、結果の2番目のページを取得するには、オフセットは10になります。 |
columns | String[](オプション)
結果に含める列。 指定されない場合、結果にはすべての列が含まれます。 |
numBulkRecords | Integer (オプション)
戻すレコード数。recordsPerPageの値をオーバーライドします。 |
次の例では、レコードの3番目のページの選択済の列セットが返されます(各ページには50レコードが含まれます)。
ResultsConfig resultsConfig = new ResultsConfig(); resultsConfig.setOffset(100); resultsConfig.setRecordsPerPage(50); String[] columns = {"Wine_ID", "Name", "Description", "WineType", "Winery", "Vintage"}; resultsConfig.setColumns(columns);
問合せから返されるレコードの数を取得します。
ResultsSummaryConfig resultsSummaryConfig = new ResultsSummaryConfig();
「~ですか」という文言および検索に対する自動修正項目を返します。
SearchAdjustmentsConfig searchAdjustmentsConfig = new SearchAdjustmentsConfig();
使用可能な検索インタフェースのリストを返します。
SearchKeysConfig searchKeysConfig = new SearchKeysConfig();
問合せの結果のソートに使用されます。ResultsConfigと組み合せて使用します。
SortConfigのプロパティは、次のとおりです。
プロパティ | 説明 |
---|---|
ownerId | String(オプション)
このSortConfigが適用されるResultsConfigのID。指定しない場合、デフォルトのResultsConfig IDが使用されます。 別のIDを構成する場合は、ownerIdの値を指定する必要があります。 |
property | String
ソートで使用する属性。 |
ascending | Boolean
昇順でソートするかどうか。 falseに設定すると、結果は降順でソートされます。 |
たとえば、次のSortConfigでは、結果は、P_Score属性の順に降順でソートされます。
SortConfig sortConfig = new SortConfig("P_Score", false);