提供されているQueryConfig関数

Studioでは、次のQueryConfig関数が提供されています。これらは、問合せによって返される結果の管理に使用されます。これらは、コンポーネント開発のための、より高度な関数です。

QueryConfig関数には通常、DiscoveryServiceUtils内に、結果を取得するための対応する関数があります。

QueryConfig関数は、コンポーネント固有のものです。そのため、QueryConfig関数は、setQueryState()を使用してデータ・ソースに永続化しないでください。そのデータ・ソースにバインドされているすべてのコンポーネントに影響を与えるからです。そのかわりに、QueryConfig関数は、コンポーネントのQueryStateオブジェクトのローカル・コピーにのみ追加してください。

使用可能なQueryConfig関数は次のとおりです。

AttributeValueSearchConfig

検索ボックス内の先行入力に使用されます。たとえば、「ガイド付きナビゲーション」で、ある属性の使用可能な値のリストを絞り込むために使用されます。

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

問合せに関連付けられているブレッドクラムを返すために使用されます。階層属性値のフルパスを表示するかどうかを指定できます。

BreadcrumbsConfigのプロパティは次のとおりです。

プロパティ 説明
returnFullPath boolean(オプション)

管理対象の階層属性について、選択された値のフルパスを返すかどうか。

デフォルトはtrueで、フルパスを返すことを示します。

フルパスを返さないようにするには、これをfalseに設定します。

この例では、ブレッドクラムを返しますが、管理対象の階層属性のフルパスは返しません。

BreadcrumbsConfig breadcrumbsConfig = new BreadcrumbsConfig(false);

ExposeRefinement

NavConfig関数からの結果に影響を与えます。「ガイド付きナビゲーション」の実装に使用されます。グループ内で使用可能な属性を表示するかどうか、および属性に対して使用可能な絞込みを表示するかどうかを制御します。

ExposeRefinementのプロパティは次のとおりです。

プロパティ 説明
dimValId String

選択された属性値のID。

管理対象属性階層内の次のレベルの使用可能な値を表示している場合は、属性値のIDを指定します。

dimensionId String

属性の名前を指定します。

少なくとも1つのdimValIdまたはdimensionIdを指定する必要があります。

ownerId String(オプション)

関連付けられているNavConfigインスタンスのID。

指定しない場合、最初のNavConfigインスタンスが使用されます。

dimExposed boolean(オプション)

属性に対して使用可能な値を(maxRefinementsで指定されている数まで)表示するかどうか。

デフォルトはtrueです。

exposeAll boolean(オプション)

使用可能な値の完全なリストを表示するかどうか。

たとえば、「ガイド付きナビゲーション」コンポーネントで、詳細...リンクが選択されているかどうかを示します。

デフォルトは、falseです。

maxRefinements int(オプション)

表示する、使用可能な値の最大数。

デフォルトは1000です。

groupKey String(必須)

グループの名前。

groupExposed boolean(オプション)

指定されたグループ内の属性をすべて表示するかどうか。

デフォルトはtrueです。

次の例では、Characteristicsグループ内のFlavors属性に対して使用可能な属性が表示されます。

ExposeRefinement exposeRefinement = new ExposeRefinement("/", "Flavors", "Characteristics");

LQLQueryConfig

現在のフィルタの状態に加えて、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

「ガイド付きナビゲーション」コンポーネントなどで、ナビゲーション・メニューの取得に使用されます。

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

選択されたレコードの詳細をアセンブルする属性のキーと値のペアを送信します。属性と値のペアのセット一式で、レコードを一意に識別できる必要があります。

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

返されたレコードの管理に使用されます。レコードのページングが可能です。

ResultsConfigのプロパティは次のとおりです。

プロパティ 説明
recordsPerPage long

一度に返すレコード数。

offset long(オプション)

開始する、リスト内の位置。最初のレコードは、位置0です。

たとえば、recordsPerPageが10である場合、結果の2番目のページを取得するには、オフセットは10になります。

columns String[](オプション)

結果に含める列。

指定されない場合、結果にはすべての列が含まれます。

numBulkRecords int(オプション)

戻すレコード数。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 resultsSummaryConfig = new ResultsSummaryConfig();

SearchAdjustmentsConfig

「~ですか」という文言および検索に対する自動修正項目を返します。

SearchAdjustmentsConfig searchAdjustmentsConfig = new SearchAdjustmentsConfig();

SearchKeysConfig

使用可能な検索インタフェースのリストを返します。

SearchKeysConfig searchKeysConfig = new SearchKeysConfig();

SortConfig

問合せの結果のソートに使用されます。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);