2017-05-30 16 views
0

元のクエリの複製を取得し、複製されたクエリの再書き込みメソッドをオーバーライドするために、Query.clone()メソッドを使用しました。Lucene Query.javaはもうclone()メソッドをサポートしていませんか?

今、私は、クエリクラスはもはやクローン可能ではないことがわかりました。なぜ変更が加えられたのか、現在クローンオペレーションを達成するための良い方法は何か?

答えて

0

5.4の非推奨警告に記載されているように、cloneはブーストの変更にのみ役立つため、setBoostgetBoostと一緒に削除されました。 3つはLucene 5.4で廃止され、6.0では削除されました。または照会が不変になるようにしました(ブーストは現在BoostQueryで処理されています)。詳しくは、LUCENE-6590を参照してください。

私はちょっと困惑しています。あなたは、あなたがクエリのクローンを取得していたと主張し、結果のインスタンスの書き換えメソッドをオーバーライド?ここで何かが見つからない限り、I don't believe that is possible.デコレータでこれをやっていたとしても、実際にはクエリをクローンする必要はないので、それをやり遂げることはできません。

+0

クエリのクローンを取得するためにブーストを使用しなかったため、クエリのクローンを取得し、その再書き込みメソッドをオーバーライドしてこのケースの展開サイズを制限しました –

関連する問題