我目前正在研究一个涉及使用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的一部分。我需要确定,如果我更新了产品或产品版本,那么它将被正确编入索引,这似乎不会发生。
关于我在做什么不正确的建议?