2010-06-05 66 views
1

我试图找出正确的方式来阅读lucene索引只有一次运行应用程序多次,我怎么能在java中做到这一点?阅读索引的建议

因为索引数据不会改变,所以每次读取它们都不是必需的。有人能解释一下它的逻辑吗?谢谢

UPDATE:

public List initTableObject() throws IOException { 
     Directory fSDirectory = FSDirectory.open(new File(INDEX_NAME)); 
     List<String>termList = new ArrayList<String>(); 

     RAMDirectory directory = new RAMDirectory(fSDirectory); 

     IndexReader iReader = IndexReader.open(fSDirectory); 
     FilterIndexReader fReader = new FilterIndexReader(iReader); 



    // int numOfDocs = fReader.numDocs(); 
     TermEnum terms = fReader.terms(); 


     while (terms.next()){ 
      Term term = terms.term(); 
      String termText = term.text(); 
      termList.add(termText); 
      } 
      iReader.close(); 
      return termList; 
    } 

我与Lucene和这个真正的新,所以这里是我的本钱到目前为止我只是现在还没有与RAMDirectory。

此方法检索列表,因为我需要此索引列表与我有的一些文件进行比较。如何将这个列表存储到RAM中,以便我可以在我的其他应用程序中使用它进行比较?

回答

1

我认为this question的答案可能有用。

+0

gr8我会马上进入+1 tnx – London 2010-06-05 18:04:26

+0

我更新了我的问题,任何帮助表示赞赏 – London 2010-06-05 18:32:34