我使用Spring JPA + Hibernate Search在我的应用程序中实现持久性和搜索。Spring JPA + Hibernate搜索:如何仅更新搜索索引(Lucene)?
我有模特这样
public class FeatureMeta {
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(unique=true)
private String uri;
@Column
@Field
private String name;
@Field
@Column
private String businessDesc;
@Field
@Column
private String logicalDesc;
.
.
@Field
@Column(insertable=false,updatable=false)
private Long totalDownloads;
.
.
}
为了让这个类的想法,“FeatureMeta”保持其更新很少的元数据信息。
但是,无论何时用户下载有关此“功能”的信息,字段“totalDownloads”都会不断变化。 基本上“totalDownloads”不是元数据的一部分,但我必须将该字段放入模型中,因为我需要在“特征搜索”的搜索结果中显示“totalDownloads”。
我使用相同的JPA Repository更新MySQL和Lucene索引。
我的问题是;只要更改“totalDownloads”字段,只能更新Lucene索引中的“totalDownloads”,而不更新MySQL中的实体吗?
不希望坚持这种下载次数的原因是什么?它存储在其他地方吗?如果是这样,你的元数据和存储这些信息的其他地方是否有关系?如果你没有坚持到任何地方,索引被破坏的那一天(它会*发生),你将无法在“totalDownloads”字段中使用正确的数据重建它们...... –