カスタム・コンポーネントを開発する場合、QueryStateクラスおよびQueryResultsクラスを使用して、Endeca Serverに対してリクエストを発行して結果を取得します。
QueryState query = getDataSource(request).getQueryState(); CollectionBaseView defaultBaseView = EndecaPortletUtil.getDefaultCollection(request); query.addFunction(new NavConfig(), defaultBaseView, request.getLocale()); QueryResults results = getDataSource(request).execute(query);
Results discoveryResults = results.getDiscoveryServiceResults();
String viewKey = request.getParameter(VIEW_KEY_PARAM); DataSource ds = getDataSource(request); QueryState query = ds.getQueryState(); SemanticView sView = ds.getCollectionOrSemanticView(viewKey, request.getLocale()); query.addFunction(new ResultsConfig(), sView, request.getLocale()); ExpressionBase expression = getDataSource(request).parseLQLExpression("Region = 'Midwest'"); query.addFunction(new SelectionFilter(expression), sView, request.getLocale()); QueryResults results = getDataSource(request).execute(query);
String viewKey = request.getParameter(VIEW_KEY_PARAM); DataSource ds = getDataSource(request); QueryState query = ds.getQueryState(); SemanticView sView = ds.getCollectionOrSemanticView(viewKey, request.getLocale()); query.addFunction(new ResultsConfig(), sView, request.getLocale()); ExpressionBase expression = getDataSource(request).parseLQLExpression("Region = 'Midwest'"); query.addFunction(new SelectionFilter(expression), sView, request.getLocale()); ds.setQueryState(query);
QueryConfigクラスおよびQueryFunctionクラスの詳細は、「QueryFunctionクラスの使用」およびStudio APIリファレンスを参照してください。