0
@Entity
@Table(name = "asset")
@Indexed(index = "asset")
@Analyzer(impl = IKAnalyzer.class)

public class Asset {

    @Column(name = "asset_name", length = 128, nullable = false)
    @Field(name = "asset_name", index = Index.TOKENIZED, store = Store.YES)
    private String assetName;

    @Column(name = "type", length = 32, nullable = false)
    @Enumerated(value = EnumType.STRING)
    @Field(name = "type", index = Index.TOKENIZED, store = Store.YES)
    private AssetTypeEnum type;
}

これは、休止状態検索の私の構成です。AssetTypeEnum は列挙型です。データベース内の既存のデータにインデックスを付けたい。これがコードです

Session session = sessionFactory.openSession();
FullTextSession fullTextSession = Search.getFullTextSession(session);
Transaction tx = fullTextSession.beginTransaction();
fullTextSession.createIndexer(Asset.class)
    .batchSizeToLoadObjects(25)
    .cacheMode(CacheMode.IGNORE)
    .threadsToLoadObjects(5)
    .threadsForSubsequentFetching(20)
    .startAndWait();
tx.commit();
session.close();

新しいアセットを作成しても問題ありません。アセットは自動でインデックス化できます。しかし、dbに存在するデータの列挙型でインデックスを作成することはできません。列挙型を削除すると、機能します。誰かがこの問題を満たしていますか?ありがとうございました。

4

0 に答える 0