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 是 Enum 类型。我想索引数据库中的现有数据。这是代码

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();

创建新资产时没有问题,资产可以索引自动。但是我无法使用数据库中现有数据的枚举类型进行索引。如果我删除枚举类型它可以工作。有人遇到这个问题吗?谢谢你。

4

0 回答 0