将文件内容加入索引

上一篇是使用hibernate search的一个文档说明,已经简单地介绍了如何使用bridge来将放到pojo属性里去的值进行预处理,也就是在加入索引文件前,先将set进来的值跳转到bridge去处理,再将返回的结果作为将进行分词索引的值。我使用的是将上传的文件内容加入索引,这里由于文件内容在存入数据库前就转换为二进制流(如byte[] date,上面加入@Lob标注)。我的文件是放在Files类里,还一个FileVersions类,用来存放文件内容和文件版本及关联Files这个类,

为什么这么设计,我也搞不懂,我是半路接手的,所以就没去改它里面的逻辑。

public class FileVersion implements java.io.Serializable {


。。。
/** 版本号 **/
	private float version = 0.1f;
	/** 文件大小 **/
	private int fileSize = 0;
	/** 更新时间 **/
	private java.util.Date updateDate = new java.util.Date();
	/** 文件描述 **/
	@Column(name = "DESCRIPTION", length = 255)
	private String description;

	/**
	 * 附件的内容
	 */
	@Basic(fetch = FetchType.LAZY)
	@Column(name = "CONTENT", nullable = true)
	@Lob
	@FieldBridge(impl=org.edu.scut.lab24.search.bridge.HandlerBridge.class)
	@Field(name = "data", index = Index.TOKENIZED, store = Store.NO)
	private byte[] data;

/** 关联文件信息 **/
	@ManyToOne(optional = true, fetch = FetchType.LAZY)
	@JoinColumn(name = "FILEID", nullable = false)
	@IndexedEmbedded(prefix="fileVersion_file_", depth=1)
	private Files files;

}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值