狮子的鱼 2016-08-24 14:01 采纳率: 0%
浏览 844
已结题

Lucene5字段录入后读取不到内容

这是写入字段的代码

 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

  • 写回答

3条回答 默认 最新

  • 狮子的鱼 2016-08-24 14:01
    关注

    newsid是字符串形式,但是内容是数字
    writetime是字符串形式,但是内容是日期

    评论

报告相同问题?