在做检索的二次开发中,会出现需要拼多层级检索条件。
例如在学术服务平台项目中
首先要通过检索词,查到结果,然后在根据检索结果的分类进行二次检索
假设此处选中类别“图书”“文章”类型进行二次检索
此处所需要的就是 检索词的条件 并且 (图书 或者 文章),需要把类型做为一个整体与检索词条件是并且的关系,如果选中了多个类型,类型之间是或者的关系。
实现代码如下:
SearchParameters sps = new SearchParameters();
SearchParameters subSps = new SearchParameters();
subSps.addFulltextFieldEx("Title", query, false);
subSps.addFulltextFieldEx("Content", query, false);
subSps.addFulltextFieldEx("KeyWord", query, false);
subSps.addFulltextFieldEx("Author", query, false);
subSps.addFulltextFieldEx("AbstractCH", query, false);
subSps.addFulltextFieldEx("AbstractEN", query, false);
SearchParameters contentTypeSps= new SearchParameters();
for(String contentType:contentTypes.split(";")){
sps.addEqualField("ContentType",contentType, false);
}
sps.addSub(subSps,true);//添加子级检索条件
sps.addSub(contentTypeSps,true);
|
所有评论仅代表网友意见