我正在关注使用Lucene 3.6的Lucene Tutorial。Lucene可以将任意对象附加(或至少跟踪)到文档吗?
我可以在Document
对象上创建并执行搜索,但我想要取回用于创建Document
s的原始对象。不幸的是,Lucene似乎在对Document
进行序列化/反序列化,所以我一直无法在它们之间创建查找映射。
如何保持Lucene的Document
和我的Object
之间的关系?有没有一种首选的Lucene方法呢?
我要指出,本教程没有工作对我来说是盒子,我不得不创建/安装的Document
年代后,以添加一个调用IndexWriter.commit()
我也有拨打电话到IndexWriterConfig.setMaxBufferedDocs()
和IndexWriterConfig.setRAMBufferSizeMB()
与大数字阻止Lucene在硬盘上寻找。
您需要以某种方式唯一标记您的可搜索对象,例如由一个ID,并在稍后引用该ID。只需将ID保存为未编入索引的“文档”即可。 – 2012-08-09 13:24:05
会有一个'Field'适合那个吗? – fommil 2012-08-09 13:59:18
是的。在我的一个应用程序中,我有一个id字段,我将其添加为'doc.add(new Field(“id”,object.getId()。toString(),Field.Store.YES,Field.Index.NOT_ANALYZED)); ' – 2012-08-09 14:08:48