这是写入字段的代码
while(res.next()){
doc = new Document();
doc.getFields().add(new TextField("newstitle", res.getString(1), Field.Store.YES));
doc.getFields().add(new TextField("newsmodel", res.getString(2), Field.Store.YES));
doc.getFields().add(new IntField("newsid", Integer.parseInt(res.getString(3)), Field.Store.YES));
doc.getFields().add(new StringField("writetime", res.getString(4), Field.Store.YES));
iw.addDocument(doc);
}
这是读取代码段
for(int i = begin;i < end;i++){
int docid = docs[i].doc;
Document doc = search.doc(docid);
System.out.println(doc.get("newstitle"));
System.out.println(doc.get("writetime"));
System.out.println(doc.get("newsid"));
String newstitle = hi.getBestFragment(new IKAnalyzer(), "newstitle", doc.get("newstitle"));
String newsmodel = hi.getBestFragment(new IKAnalyzer(), "newsmodel", doc.get("newsmodel"));
String writetime = doc.get("writetime");
String newsid = doc.get("newsid");
News1 news = new News1();
news.setNewsid(newsid);
news.setNewstitle(newstitle);
news.setNewsmodel(newsmodel);
news.setWritetime(writetime);
list.add(news);
}
我读取不到newsid和writetime,但是在数据库确实取出来,分词器用的是IKAnalyzer
newsid是字符串形式,但是内容是数字
writetime是字符串形式,但是内容是日期
确实有点奇怪 。
http://iamyida.iteye.com/blog/2206107
http://8492887.blog.51cto.com/8482887/1637187