使用hibernate + jpa + lucene + spring boot。
所以我尝试进行查询时间连接 - 按子属性搜索父级。就像在我尝试的文档中一样:
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等(由Google搜索引发)但没有成功 - 仍然是这个错误。
UninvertingReader
- 但没有找到如何实现一个。docvalues
- 不知道如何在此处使用它。IndexSearcher
有关,因为我以某种奇怪的方式得到它:
新IndexSearcher(Search.getFullTextEntityManager(entityManager).getSearchFactory().getIndexReaderAccessor().open(Participant.class))
请帮帮我)
更新。 目前通过添加注释解决:
@SortField
@FieldBridge(impl = LongBridge.class)
加入字段...不清楚为什么需要这样做 - 没有@FieldBridge注释没有错误,但也没有搜索结果。