2

Lucene で POJO をインデックス化する方法について、良い例はありますか? JIRA が問題に対して行うのと同じことですか?

たとえば、次のようなものがある場合

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

作成者フィールドとタイトル フィールドのテキストを Lucene でインデックス化して検索できるようにしたいと考えています。

私はそれが可能であることを知っていますが、それを行う方法の簡潔な例をまだ見つけていません。

HibernateではなくEclipseLinkを使用しているため、Hibernate Searchはオプションではありません。

4

1 に答える 1

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:

ゲッターを介してインデックス付けされるすべてのデータを公開しないように制限されている場合。

a) インデックスを作成する POJO ごとに内部クラスを作成します。

b)親クラスから属性を読み取るその内部クラスにメソッドがあります

c) Lucene ドキュメントをビルドし、同じものを返します。

上記の方法は単純です。高度な、フレームワークベースの、自動化されたものなどを探しているなら、私にはわかりません..

于 2013-04-04T20:43:56.830 に答える