Hibernate Search - 如何动态地向索引添加可排序字段?

问题描述 投票:0回答:1

我知道@SortableField注释以及MetadataProvidingFieldBridge.configureFieldMetadata方法,它提供了在HS 5中指定字段可排序的方法。

但是,这些仅在创建索引时适用。在我的应用程序中,结果可以使用任意标记进行标记,这些标记具有相关的分数,我需要能够对其中任何一个进行排序。因此,字段的名称是标记名称,值是标记的分数。

以前,当任何字段可用于排序时,这适用于HS3,但在第5版中,我们必须提前告知HS有关可排序字段的信息。

所以问题是:当用户创建新标签时是否可以动态添加可排序字段,如果是,如何?

hibernate-search
1个回答
1
投票

正如here所解释的,您唯一的解决方案是将配置属性hibernate.search.index_uninverting_allowed设置为true。它不是非常有效,因此你会得到警告,但是它在HS3中效率也不高(它的工作方式相同)。标有@SortableField的字段仍将获得性能提升,并且不会触发警告。

我们计划在Hibernate Search 6中添加一种更好,更有效的方法来对动态字段进行排序。

© www.soinside.com 2019 - 2024. All rights reserved.