lucene针对一组数据创建了索引,该组数据中有个字段是id,索引创建后能否根据id将唯一的内容取回?
答案:1 悬赏:50 手机版
解决时间 2021-03-20 02:20
- 提问者网友:自食苦果
- 2021-03-19 16:06
lucene针对一组数据创建了索引,该组数据中有个字段是id,索引创建后能否根据id将唯一的内容取回?
最佳答案
- 五星知识达人网友:几近狂妄
- 2021-03-19 16:50
只要ID是唯一的,在建立索引时对ID字段不要分词,查询是就可以根据ID来检索出来了。
建立索引时的例子:
Document doc = new Document();
doc.add(new Field("ID",“123456”,Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS));
........这里在增加这组数据里的其他字段
indexWriter.addDocument(doc);
搜索时的例子:
Term t11 = new Term("ID", "123456");
Query query11 = new TermQuery(t11);
TopDocs topDocs11 = searcher_tmp.search(query11, 1);
for (ScoreDoc scoreDoc11 : topDocs11.scoreDocs) {
int docNum11 = scoreDoc11.doc;
String id=searcher_tmp.doc(docNum11).get("ID");
String contents=searcher_tmp.doc(docNum11).get("contents");//假设contents是建立索引时除ID外的其他字段的名称
}追问还真成功了 。。。。
我想嫁给你...追答呵呵,那算了,满意的话就采纳吧。
建立索引时的例子:
Document doc = new Document();
doc.add(new Field("ID",“123456”,Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS));
........这里在增加这组数据里的其他字段
indexWriter.addDocument(doc);
搜索时的例子:
Term t11 = new Term("ID", "123456");
Query query11 = new TermQuery(t11);
TopDocs topDocs11 = searcher_tmp.search(query11, 1);
for (ScoreDoc scoreDoc11 : topDocs11.scoreDocs) {
int docNum11 = scoreDoc11.doc;
String id=searcher_tmp.doc(docNum11).get("ID");
String contents=searcher_tmp.doc(docNum11).get("contents");//假设contents是建立索引时除ID外的其他字段的名称
}追问还真成功了 。。。。
我想嫁给你...追答呵呵,那算了,满意的话就采纳吧。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯