资源描述:
《检索条件配示例.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ZCMS检索条件配置示例SearchParameters类提供检索时条件的配置,SearchService类提供检索服务,SearchResult类是保存检索结果的对象。本文主要介绍,如何使用平台提供的API,配置检索条件。1方法说明1.1SearchParameters类isMust参数为true表示该检索条件必须满足,为false表示该检索条件不是必须满足。方法功能publicvoidaddFulltextField(Stringfield,Stringquery,booleanisMust)添加一个全文检索条件,在指定
2、字段中执行全文检索publicvoidaddRightLikeField(Stringfield,Stringquery,booleanisMust)添加一个查询条件,类似于SQL中的fieldlike'%query'publicvoidaddLeftLikeField(Stringfield,Stringquery,booleanisMust)添加一个查询条件,类似于SQL中的fieldlike'query%'publicvoidaddLikeField(Stringfield,Stringquery,booleanisM
3、ust)添加一个查询条件,类似于SQL中的fieldlike'%query%'publicvoidaddEqualField(Stringfield,Stringquery,booleanisMust)添加一个查询条件,要求字段值完全等于指定值publicvoidaddNotEqualField(Stringfield,Stringquery)添加一个查询条件,要求字段值完全不等于指定值publicvoidaddRangeField(Stringfield,StringvalueBegin,StringvalueEnd,bo
4、oleanisMust)添加一个查询条件,要求字段值在指定的范围内,检索结果包含范围的边界值publicvoidaddQuery(Queryq,booleanisMust)添加一个自定义的查询条件publicvoidaddSortField(Stringfield,intdataType,booleandescFlag)添加一个排序字段1.2SearchService类方法功能PublicstaticSearchResultsearch(SearchParameterssps,booleanhighlighter)提供检索服
5、务,highlighter为true表示高亮显示检索结果。1.3SearchResult类属性描述publicDataTableData;检索结果集,数据类型DataTabllepublicintTotal;检索结果集记录总数publicdoubleUsedTime;检索耗时2检索条件配置ZCMS中基本检索域包括:INDEXTYPE,TITLE,CONTENT,URL,_KEYWORD,ID,ADDTIME,MODIFYTIME。其中,文章内容类型除了继承了上述检索域外,还对CONTENTTYPE,SITEID,CATALO
6、GID,CATALOGINNERCODE,LOGOFILE,STATUS,INDEXENABLE,PUBLISHDATE,PARRENTINNERCODE等字段建了索引。下面以ZCMS检索结果页面为例介绍检索条件的配置,代码如下:12345678@Priv(login=false)@Alias("Demo.ListBind")publicDataTablegetList(AbstractExecuteContextcontext){SearchParameterssps=newSearchParameters();Strin
7、gauthors=$V("Authors");//配置字段排序if(StringUtil.isNotEmpty($V("Sort"))){910111213141516171819202122232425String[]sorts=StringUtil.splitEx($V("Sort"),",");for(Stringsort:sorts){sps.addSortField(sort,SortField.STRING,true);}}else{//添加默认按照发布时间顺序倒序排列sps.addSortField("Publ
8、ishDate",SortField.STRING,false);}//构建内容类型子查询Stringctype=$V("ContentTypeID");if(ObjectUtil.notEmpty(ctype)){if(ctype.indexOf(",")!=-1){BooleanQue