上一主题: 使用 SDK 接口新建自定义适配器下一主题: 使用 CAFedSearch 组件配置新的自定义搜索适配器


编译新的自定义适配器 Jar 文件

成功编译自定义适配器 jar 文件。

遵循这些步骤:

  1. 编译新的自定义搜索适配器。请确保在 Java 类路径中具有以下 jar 文件:
    jsr311-api-1.0.jar

    此 jar 文件在以下 CA SDM 目录中提供:

    %NX_ROOT%\java\lib\CXF\
    
    cafedsearch-core.jar

    此文件在以下目录中提供:

    %NX_ROOT%\bopcfg\www\CATALINA_BASE_FS\webapps\cafedsearch\WEB-INF\lib
    
    cafedsearch-adapter-sdk-1.0.0.jar

    此文件在以下目录中提供:

    %NX_ROOT%\bopcfg\www\CATALINA_BASE_FS\webapps\cafedsearch\WEB-INF\lib
    
    log4j-1.2.15.jar(可选)

    此文件在以下目录中提供:

    %NX_ROOT%\java\lib
    
  2. 编写新的 Java 类,用于扩展 SearchAdapter 类并提供抽象方法的实施。
    搜索
    

    CAFedSearch 组件调用并传递搜索方法的参数。在客户端的每个搜索请求的 SearchOptions 参数内嵌入这些参数。

    注意:确保您的实施方式是线程安全的,因为 CAFedSearch 组件仅维护 Java 类的一个实例。对于每个搜索操作,将在同一个实例上调用搜索方法。

  3. 搜索方法的 SearchOptions 参数具有以下方法:
    getSearchTerms()

    指定用于检索搜索字符串的方法。

    getStartIndex()

    指定开始建立索引的方法,即客户端要从其开始搜索项目的编号。从 1 开始建立索引。

    getItemsPerPage()

    指定客户端期望的搜索结果最大数。

    注意:也可以使用其他 Java 类方法。例如:getUserId()

  4. 将收集的信息发送到外部搜索引擎 API 以便检索搜索结果。

    注意:有关 Java 类方法的信息,请参阅 Java 文档。

  5. 搜索方法将返回 ResultCollection 类的实例。创建 ResultCollection 的实例,并使用下列方法填充值:
    setSources(String name)

    指定搜索适配器的名称。名称区分大小写,且必须与在实用工具配置文件中提供的名称完全匹配。为了方便起见,SearchAdapter 提供了一个应该使用的方法 getName()。

    例如:

    results.setSources(getName());
    
    setTotalResults (int total)

    指定搜索结果总计数。

    setStartIndex(int startIndex)

    指定结果的开始索引。此值基于搜索引擎提供的结果。

    results.setStartIndex(startIndex);
    
  6. 必须通过调用 setSearchResultItems 方法向 ResultCollection 对象传递一组 ResultItem。要一次添加一个 ResultItem 实例,请使用 addSearchResultItem() 方法。

    注意:有关 ResultCollection Java 类的详细信息,请参阅 Java 文档。

  7. ResultItem 类具有以下重要方法,必须为每个搜索结果项(行)填充这些方法。
    setContentText(String txt)

    指定用于设置搜索结果实际内容的方法。

    setContentHTML(String txt)

    指定用于设置 HTML(可包含 HTML 标记)内容的方法。如果搜索引擎为 HTML 提供了突出显示,则使用此方法设置突出显示的文本。

    注意:如果搜索引擎没有此功能,则可以编写一个简单的 Java 类方法来突出显示文本。CA Open Space 适配器有一种简单的方法,可以在搜索结果中以粗体显示词语。

    setTitleHTML(String titleHTML)

    用于设置 HTML 标题的方法(可包含 HTML 标记)。

    setTitleText(String titleText)

    用于设置纯文本标题的方法(不能包含 HTML 标记)。

    setSource(String source)

    用于设置源属性的方法。项目 setSource(getName()); 就是一个典型的调用

    注意:如果搜索适配器需要更多的 jar 文件,请自定义 build.xml 以编译和准备适配器 jar 文件。要使用 build.xml,必须具备 Ant 二进制文件。使用 Ant 运行 build.xml 中的目标,以编译并建立 JAR 文件。将 build.xml 与您的源 (src) 文件夹一起保存。build.properties 文件是可选文件。有关 Ant 二进制文件的详细信息,请参阅 Ant 帮助。

    jar 文件已成功编译。