在Lucene索引POJO

时间:2013-04-04 20:02:52

标签: lucene eclipselink pojo

关于如何在Lucene中索引POJO有一个很好的例子 - 与JIRA对问题的处理方式相同吗?

例如,如果您有类似

的内容
class Book {
  private String author;
  private String title;
}

我希望将作者和标题字段的文本在Lucene中编入索引,以便我可以搜索它们。

我知道这是可能的,但还没有找到一个很好的简洁示例,如何做到这一点。

我使用的是EclipseLink,而不是Hibernate,所以Hibernate Search不是一个选项。

1 个答案:

答案 0 :(得分:0)

1)案例1:

如果您可以通过getter公开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创建一个Inner类。

b)在该内部类中有一个方法,它从父类

中读取属性

c)构建Lucene文档并返回相同的文档。

上述方法很幼稚。如果您正在寻找高级,基于框架,自动化等的东西,我不确定..