使用lucene + hibernate

时间:2017-01-23 19:13:52

标签: java hibernate lucene hibernate-search

使用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搜索引发)但没有成功 - 仍然是这个错误。

  1. 我想使用UninvertingReader - 但没有找到如何实现一个。
  2. 同样适用于docvalues - 不知道如何在此处使用它。
  3. 我觉得问题可能与我使用的IndexSearcher有关,因为我以某种奇怪的方式得到它: 新IndexSearcher(Search.getFullTextEntityManager(entityManager).getSearchFactory().getIndexReaderAccessor().open(Participant.class))
  4. 请帮帮我)

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

    @SortField
    @FieldBridge(impl = LongBridge.class)
    

    加入字段...不清楚为什么需要这样做 - 没有@FieldBridge注释没有错误,但也没有搜索结果。

0 个答案:

没有答案