我正在關注使用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