简单搜索

构造搜索查询的最简单方法是使用 RAMSession.createAssetQuery(String) 方法。您可以传递任何将在 Web 或 Eclipse 客户端的搜索输入框中输入的字符串。也可以粘贴在 Web 客户端的“搜索”文本框下找到的搜索快捷方式。

Web 客户端中搜索快捷方式的屏幕截图

在 Eclipse 客户端中,可从下拉菜单或“资产搜索”视图中使用“复制到剪贴板”来获取搜索快捷方式。

createAssetQuery 方法将返回 RAMAssetQueryBuilder 对象,该对象已转换为简化 SeachQuery 对象。此对象可传递至 RAMSession.getAssets(SearchQuery) 方法,并且它将返回 RAMSearchResult 对象,该对象已转换为常规 SearchResult 对象。可通过 SearchResult 对象来获取符合此搜索查询的资产总数以及此结果页面的 RAMAsset 对象列表。

以下是用于查找与单词“Rational Asset Manager”和“javadoc”相匹配的所有资产的简单搜索示例:

                SearchQuery query = session.createAssetQuery("Rational Asset Manager javadoc");
                SearchResult searchResult = session.getAssets(query);
                RAMAssetSearchResult[] assets = (RAMAssetSearchResult[])searchResult.getAssetSearchResults();

实时搜索结果

可使用同步搜索(或实时搜索)来确保搜索结果与数据库同步。使用 SYNCHRONIZED_SEARCH_FLAG 标志来启用实时搜索。

使用同步搜索时,从索引返回的结果与提交查询时的数据库的内容匹配。同步搜索的耗时可能比普通搜索更长,原因是如果系统最近有更新,那么请求必须等待索引与数据库同步。

以下是同步搜索的示例:

                RAMAssetQueryBuilder query = (RAMAssetQueryBuilder)session.createAssetQuery("Synchronized Search Test");
                query.setSearchModes(SearchQuery.SYNCHRONIZED_SEARCH_FLAG);
                SearchResult searchResult = session.getAssets(query);

反馈