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); 

以后碰到的接着补充。

posted @ 2013-02-20 16:24  那些年的事儿  阅读(740)  评论(0编辑  收藏  举报