Studioでは、次のQueryConfig関数が提供されています。これらは、問合せによって返される結果の管理に使用されます。これらは、コンポーネント開発のための、より高度な関数です。
各QueryConfig関数には通常、DiscoveryServiceUtils内に、結果を取得するための対応する関数があります。
QueryConfig関数は、コンポーネント固有の結果を取得するために最も多く使用されます。そのため、QueryConfig関数は、同じデータにバインドされているすべてのコンポーネントに影響を与えるため、setQueryState()を使用してアプリケーション・データ・ドメインに永続化しないでください。そのかわりに、QueryConfig関数は、コンポーネントのQueryStateオブジェクトのローカル・コピーにのみ追加してください。
使用可能なQueryConfig関数は次のとおりです。
ここに示す情報以外のQueryConfig関数の詳細は、Component SDK APIリファレンスを参照してください。
「使用可能な絞込み」パネルおよび「検索ボックス」の関数などで、テキスト検索のために使用されます。
AttributeTextValueSearchConfigのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
searchTerm | String
属性値内で検索する用語。 |
attribute | String (オプション)
属性内を検索するための属性キー。 単一の属性に対して検索を実行するには、attributeプロパティを使用します。複数の属性に対して検索を実行するには、searchWithinを使用します。 |
searchWithin | List<String> (オプション)
属性リスト内の一致する値が検索されます。 |
languageId | String (オプション)
サポートされる言語の国コード(英語の「en」など)。 |
AttributeTextValueSearchConfig attributeTextValueSearchConfig = new AttributeTextValueSearchConfig("merlot");
検索フィールド内の先行入力に使用されます。たとえば、属性に使用可能な属性値のリストを絞り込むための「使用可能な絞込み」に使用されます。
AttributeValueSearchConfigのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
searchTerm | String
属性値内で検索する用語。 |
maxValuesToReturn | int (オプション)
返される、一致する値の最大数。 値が指定されない場合、デフォルトは10です。 |
attribute | String (オプション)
属性内を検索するための属性キー。 単一の属性に対して検索を実行するには、attributeプロパティを使用します。複数の属性に対して検索を実行するには、searchWithinを使用します。 |
searchWithin | List<String> (オプション)
属性リスト内の一致する値が検索されます。 |
matchMode | ALL|PARTIAL|ANY|ALLANY|ALLPARTIAL|PARTIALMAX|BOOLEAN(オプション)
検索に使用する一致モード。 |
relevanceRankingStrategy | String (オプション)
検索時に使用する関連性のランキング方法の名前。 |
languageId | String (オプション)
サポートされる言語の国コード(英語の「en」など)。 |
次の例では、WineType属性値内でredという用語が検索されます。
AttributeValueSearchConfig attributeValueSearchConfig = new AttributeValueSearchConfig("red", "WineType");
問合せに関連付けられている絞込みを返すために使用されます。
BreadcrumbsConfigのプロパティは次のとおりです。
プロパティ | 説明 |
---|---|
id | String (オプション)
インスタンス化されるブレッドクラムのID。 |
この例は、絞込みを返します。
BreadcrumbsConfig breadcrumbsConfig = new BreadcrumbsConfig();
現在のフィルタの状態に加えて、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);
選択されたレコードの詳細をアセンブルする属性のキーと値のペアを送信します。属性と値のペアのセット一式で、レコードを一意に識別できる必要があります。
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 = {"WineID", "Name", "Description", "WineType", "Winery", "Vintage"}; resultsConfig.setColumns(columns);
問合せから返されるレコードの数を取得します。
ResultsSummaryConfig resultsSummaryConfig = new ResultsSummaryConfig();
DYM(「~ですか」)と検索の自動修正項目を返します。
SearchAdjustmentsConfig searchAdjustmentsConfig = new SearchAdjustmentsConfig();
問合せの結果のソートに使用されます。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);