Lucene Query.java不再支持clone()方法吗?
问题描述:
我们使用Query.clone()方法获取原始查询的克隆,并在克隆查询中重写重写方法。Lucene Query.java不再支持clone()方法吗?
现在我发现Query类不再可复制。任何想法为什么要做出改变,以及现在更好的方式来完成克隆操作?
答
如5.4中的弃用警告中所述,clone
仅用于更改提升,因此它随setBoost
和getBoost
一起被删除。所有这三个都在Lucene 5.4中被弃用,并且在6.0中被移除,或者为了使查询不可变(现在正在通过BoostQuery
处理增强)。请参阅LUCENE-6590进行全面讨论。
虽然我有点困惑。你声称你得到了一个查询的克隆,然后覆盖生成的实例上的重写方法?除非我在这里丢失了一些东西,I don't believe that is possible.如果你是用装饰器做这件事的话,没有理由你不能这样做,因为你不需要克隆查询。
我们没有使用boost来获取查询的克隆,我们只是用来获取查询的克隆并覆盖它的重写方法来限制我们的情况下的扩展大小 –