我目前正在研究一個涉及使用Hibernate Search的項目。目前該項目使用純SQL進行搜索,我們希望使用文本搜索來替代(需要知道並正確拼寫第一個單詞會令人討厭)。Hibernate搜索沒有正確索引嵌入的集合
模式是產品可以有多個版本,當前版本包含產品的名稱。
Public Class Product extends ProgEntity
{
private List<ProductVersion> versions = new ArrayList<ProductVersion>();
...
}
Public Class ProductVersion extends ProgEntity
{
String productName;
...
}
我需要能夠根據名稱搜索產品。我能夠通過產品名稱對ProductVersions進行索引,但很少有問題,但索引產品被證明是更大的問題。
經過一番研究,這是我有,但是當我更新產品的數據庫沒有索引創建。
@Entity
@Indexed
Public Class Product extends ProgEntity
{
@IndexedEmbedded
private List<ProductVersion> versions = new ArrayList<ProductVersion>();
...
}
@Entity
@Embeddable
Public Class ProductVersion extends ProgEntity
{
@Field
String productName;
...
}
該DocumentID是ProgEntity的一部分。我需要確定,如果我更新了產品或產品版本,那麼它將被正確編入索引,這似乎不會發生。
關於我在做什麼不正確的建議?