Hibernate Search QueryBuilder:查询非实体字段

KoW*_*KoW 6 lucene hibernate-search

我试图使用来自Hibernate Search的QueryBuilder,其中的字段不是相应实体的属性,而是使用ClassBridge在运行中构建.我能这样做吗?

QueryBuilder qb = fullTextEntityManager.getSearchFactory().
        buildQueryBuilder().forEntity(Publication.class).get();
    ....
Query query = qb.keyword().onField("title").matching("Lärm").createQuery();
Run Code Online (Sandbox Code Playgroud)

字段"title"不是Publication类的一部分,但在Lucene索引中可用(并且可搜索).

更新:根据https://forum.hibernate.org/viewtopic.php?f=9&t=1008943,以下工作:

QueryBuilder qb = fullTextEntityManager.getSearchFactory().
        buildQueryBuilder().forEntity(Publication.class).get();
    ....
Query query = qb.keyword().onField("title").ignoreFieldBridge().matching("Lärm").createQuery();
Run Code Online (Sandbox Code Playgroud)

(ignoreFieldBridge做了伎俩)