Lucene Query.java不';你不再支持clone()方法了吗?

Lucene Query.java不';你不再支持clone()方法了吗?,lucene,clone,Lucene,Clone,我们使用Query.clone()方法获取原始查询的克隆,并在克隆的查询中重写重写方法 现在我发现查询类不再是可克隆的。知道为什么要进行更改,以及现在完成克隆操作的更好方法是什么吗?如5.4中的弃用警告所述,clone仅用于更改提升,因此它与setBoost和getBoost一起被删除。在Lucene 5.4中,所有三个都被弃用,在6.0中被删除,或者为了使查询不可变(BoostQuery现在由BoostQuery处理)。有关详细讨论,请参阅 不过,我有点困惑。您声称您正在获取查询的克隆,然后在

我们使用Query.clone()方法获取原始查询的克隆,并在克隆的查询中重写重写方法


现在我发现查询类不再是可克隆的。知道为什么要进行更改,以及现在完成克隆操作的更好方法是什么吗?

如5.4中的弃用警告所述,
clone
仅用于更改提升,因此它与
setBoost
getBoost
一起被删除。在Lucene 5.4中,所有三个都被弃用,在6.0中被删除,或者为了使查询不可变(BoostQuery现在由
BoostQuery
处理)。有关详细讨论,请参阅


不过,我有点困惑。您声称您正在获取查询的克隆,然后在结果实例上重写重写方法?除非我在这里遗漏了什么,否则如果您是在与装饰师一起执行此操作,那么您没有理由仍然不能这样做,因为您不应该真的需要克隆查询。

我们没有使用boost来克隆查询,我们只是获取一个查询的克隆并重写它的重写方法,以限制查询中的扩展大小case@DivyaMalini你有没有找到解决这个问题的办法?我们还克隆并调用
setRewriteMethod(…)