Java 使用lucene+;冬眠

Java 使用lucene+;冬眠,java,hibernate,lucene,hibernate-search,Java,Hibernate,Lucene,Hibernate Search,使用hibernate+jpa+lucene+spring引导 所以我尝试在查询时按子属性搜索父属性。正如我在文档中尝试的那样: JoinUtil.createJoinQuery("participantId", false, "experimentId", qq, indexSearcher, ScoreMode.None); 并得到错误: `java.lang.IllegalStateException: unexpected docvalues type NONE for field '

使用hibernate+jpa+lucene+spring引导

所以我尝试在查询时按子属性搜索父属性。正如我在文档中尝试的那样:

JoinUtil.createJoinQuery("participantId", false, "experimentId", qq, indexSearcher, ScoreMode.None);
并得到错误:

`java.lang.IllegalStateException: unexpected docvalues type NONE for field 'participantId' (expected one of [BINARY, SORTED]). Use UninvertingReader or index with docvalues.`
(participantId很长)我不知道如何修复它。我尝试过使用Bridges等(受谷歌搜索的启发),但没有成功——仍然是这个错误

  • 我想使用
    UninvertingReader
    ——但没有找到如何安装的方法
  • 这同样适用于
    docvalues
    ——不知道如何在这里使用它
  • 我觉得问题可能出在我使用的
    IndexSearcher
    上,因为我用一种奇怪的方式得到它: 新建
    IndexSearcher(Search.getFullTextEntityManager(entityManager).getSearchFactory().getIndexReaderAccessor().open(Participant.class))
  • (请帮帮我)

    更新。 当前通过添加注释解决:

    @SortField
    @FieldBridge(impl = LongBridge.class)
    
    要加入域。。。不清楚为什么需要这样做-没有@FieldBridge注释没有错误,但也没有搜索结果