Solr4:创建索引时的一些建议
使用SolrJ组件创建索引时,以下问题记录一下,涉及文档打分、日期字段处理、多值字段处理等:
1. 需要对文档进行打分
// 对title/content字段进行处理 float boost = IndexTool.getBoost(info.getWebTitle()); doc.addField("webTitle", info.getWebTitle(), boost); boost = IndexTool.getBoost(info.getWebContent()); doc.addField("webContent", info.getWebContent(), boost);
上述代码引用的IndexTool代码可以参考:Lucene4.1:获取中文分词结果,根据文本计算boost,可以自定义规则对文档进行打分。
2. 日期字段的处理
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { doc.addField("webTime", new Date(sdf.parse(info.getWebTime()).getTime())); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
3. 多值字段的处理
// 不支持List提交,只能数组提交,需要作一转换 String[] images = info.getWebImage().toArray(new String[info.getWebImage().size()]); doc.addField("webImage", images);
以后碰到的接着补充。