我正在尝试构建自定义搜索,并遵循红皮书中的示例。但是,我没有创建新功能,而是通过修改在 FileNet 数据库上执行的查询来修改当前的搜索行为。根据示例,仅设置和显示了几个默认属性。我正在努力设置其他文档属性。
private static void buildResultStructure(JSONResultSetResponse jsonResultSet, MessageResources resources, Locale clientLocale) {
String[] states = new String[1];
states[0] = "isLocked";
jsonResultSet.addColumn(new JSONResultSetColumn(" ", "multiStateIcon", false, states));
jsonResultSet.addColumn(new JSONResultSetColumn(" ", "17px", "mimeTypeIcon", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.id"), "200px", "ID", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn("Class Name", "125px", "className", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.lastModifiedByUser"), "125px", "ModifiedBy", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.lastModifiedTimestamp"), "175px", "LastModified", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.version"), "50px", "Version", null, false));
jsonResultSet.addMagazineColumn(new JSONResultSetColumn("thumbnail", "60px", "thumbnail", null, null));
com.ibm.json.java.JSONArray fieldsToDisplay = new com.ibm.json.java.JSONArray();
com.ibm.json.java.JSONObject jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "className");
jsonObj.put("displayName", "Class");
fieldsToDisplay.add(jsonObj);
jsonObj =new com.ibm.json.java.JSONObject();
jsonObj.put("field", "ModifiedBy");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.lastModifiedByUser"));
fieldsToDisplay.add(jsonObj);
jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "LastModified");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.lastModifiedTimestamp"));
fieldsToDisplay.add(jsonObj);
jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "Version");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.version"));
fieldsToDisplay.add(jsonObj);
jsonResultSet.addMagazineColumn(new JSONResultSetColumn("content", "100%", "content", fieldsToDisplay, null));
}