インデックス付きのオブジェクトのフィールドをインデックスしようとしていますが、何らかの理由で更新されません。私は@IndexedEmbeddedで注釈を付けられた部分として便利な検索メソッドを持っていますが、私が索引付けしている他の属性は変更を引き起こすようです。私は何かが欠けているか分からない。私はそれがインデックスを更新し、でも実際に一見失われたmyBoolの更新を修正myEnum更新するとhibernate search @ContainedInはブール値フィールドでは機能しません
ClassA {
List<ClassB> myList = new ArrayList<>();
@IndexedEmbedded
ClassB getNewestClassB() {
//sort by creationDate and return last
}
}
ClassB {
@Field
enum myEnum;
@Field
Boolean myBool; //Boolean to avoid null issues
@ContainedIn
ClassA
boolean getMyBool() {
if(myBool == null)
return false;
return myBool;
}
}
:ここでは基本的なconfiguraitonです。何らかの理由でnullの可能性があるかどうかを調べるために、フィールド自体とゲッターの両方に注釈を付けることを試みましたが、それは助けになりませんでした。私は両方でBooleanBridgeを使ってみましたが、そこに運がありません。
こんにちはAndrew!私たちのテストケーステンプレートを使って、自己完結型のテストケースを書くことができますか:https://github.com/hibernate/hibernate-testcase-templates/tree/master/search/hibernate-search-lucene?ありがとう! –
私は設定を開始します。ありがとう!また、私が言及していたことを忘れてしまったのは、5.3を必要とする古い休止状態のvesionを持つ私の春のブートのために、休止状態の検索5.3を使用していることです。 –
これはおそらく汚れたチェック戦略のバグでしょう。 "hibernate.search.enable_dirty_check = false"を設定してこれらを無効にすることはできますか?それは少し効率が悪くなりますが、私はそれがあなたの問題を回避する(そして私たちがそれを狭めるのを助ける)と思います。 – Sanne