2014-12-02 62 views
0

我有一個FSDirectory,我們稱它爲NORMAL,它已經包含許多索引的Document實例。現在,我想要創建一個臨時索引,即RAMDirectory和IndexReader/IndexSearcher,它包含以前索引的文檔的子集(讓我們稱這個目錄爲TEMP)。Lucene 4.9:使用文檔創建臨時目錄

我想知道做什麼最好的方法是什麼。將數據索引到NORMAL時,我使用分析器執行詞法分析(英語分析器);也並非所有的字段實際上都被存儲,即,它們中的一些僅被索引,但是它們的值不被存儲在目錄NORMAL中。目前爲止沒有問題。

  1. 但是,如果我現在拿這些文件的一個子集,這是我後來就用的IndexReader看完了,我把它們重新進行添加到TEMP目錄,是恰當的比方也使用EnglishAnalyzer或不會造成重 - 已經被阻止的令牌的結論?
  2. 而且,如果一個字段根本沒有存儲,我想它不能用於將其添加到TEMP權利?

回答

1
  • 1:這是適當的重新分析。該字段的存儲表示不會被阻止,標記或其他任何內容。這只是原始數據。

  • 2:通常,這是正確的。如果一個字段沒有被存儲,你不能把它拿出來。從技術上講,如果在編制索引時設置了正確的參數,並且如果你是頑強的,那麼你可能能夠重建該字段的有損版本。當然,當你可以存儲該字段時,不會推薦它。

雖然這讀起來有點像XY problem。你確定沒有更簡單的方法去做你想做的事嗎?也許按filtering

+0

我在問這個,因爲我在目錄NORMAL中有很多文檔,現在我只需要獲取文檔子集(由用戶選擇)中出現的那些詞的總詞頻率。所以這可能是一個XY問題,我不知道,但我認爲用這個子集的文檔創建另一個臨時目錄是一種方法,不是嗎?謝謝! – pedjjj 2014-12-03 15:47:54