OpenCms结构化搜索

如何对opencms自定义的结构化模版resources实现search功能呢?

 

第一步,当然是自定义结构化模版,然后创建资源,这个我就不多讲了,网上有很多。

 

第二步,是创建索引,在administraion下面有一个serachmanage的功能,点击进入后->New Index->设置搜索路径和文件类型->保存。

 

第三步,返回searchmanage主界面,点击

view field configuration->new field configration->然后选择刚建好的"field configration",

选择add new Fields->输入name->进入新建的fields->add new mapping->,映射中设置类型为item ,参数为元素名,如Author[1](假如自定义结构化xsd里面有个属性叫做 Author的话,注意后面的"[1] " 是必须的)

 

最后一步是写代码:

CmsJspActionElement cms = new CmsJspActionElement(pageContext,request,response);  
   
 String keywords = "test";  
  
CmsSearch search = new CmsSearch();  
 search.setMatchesPerPage(20);  
 search.setDisplayPages(20);  
search.setQuery(keywords);  
 search.setIndex("TestIdx");  
String str[] = { "xmlItemName" };  
 search.setField(str);  
search.init(cms.getCmsObject());  
 List result = search.getSearchResult();  
 for (int i = 0; i < result.size(); i++) {  
 CmsSearchResult entry = (CmsSearchResult) result.get(i);  
 out.print("Name="+entry.getField("xmlItemName"));  
   }  
 

实际上: index 管的是搜索的路径和文件类型,而field管的是,文件中某个字段的属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值