2013-04-04 82 views
1

有沒有關於如何在Lucene中索引POJO的好例子 - 與JIRA在處理問題時一樣?在Lucene中索引POJO

例如,如果您有類似

class Book { 
    private String author; 
    private String title; 
} 

我希望作者和標題字段Lucene來進行索引的文本,以便我可以對其進行搜索。

我知道這是可能的,但還沒有找到一個很好的簡潔的例子,如何做到這一點。

我使用EclipseLink而不是Hibernate,因此Hibernate Search不是一個選項。

回答

0

1)案例1:

如果您可以通過干將暴露POJO的所有待索引的內部屬性。

public interface Indexable{} 

class Book implements Indexable{} 

public interface POJOToLuceneDocumentConverter{  
     Document convert(Indexable obj);  
} 

public class BookToLuceneDocumentConverter{ 
    public Document convert(Indexable obj){ 
    // build the Lucene document. 
} 
} 

2)案例2:

如果你限制爲不通過的getter揭露所有的待索引的數據。

a)爲每個您想索引的POJO創建一個內部類。

b)沒有在該內部類讀取從父類)的屬性

Ç構建Lucene的文檔,並且返回相同的方法。

上述方法很幼稚。如果你正在尋找一些先進的,基於框架的,自動化的等,我不確定..