[url]http://stackoverflow.com/questions/7796616/hibernate-search-storing-byte-in-index[/url]
找到这个字段的定义, 或者getter方法.
You will need a field bridge.
For example:
由于没有找到这个MagicFileUtil类,所以自己转换byte[]==>String
[url]http://bbs.csdn.net/topics/297981[/url]
MyFieldBridge.java改成
[color=red][b]如果可以, 最好到org.hibernate.search.bridge.builtin去寻找相应的Bridge类.[/b][/color] 如果不行, 看就情况对字段的特殊类型做实现, 比如实现TwoWayStringBridge.
找到这个字段的定义, 或者getter方法.
You will need a field bridge.
For example:
@Field(index = Index.NO, store = Store.YES)
@FieldBridge(impl = MyFieldBridge.class)
private byte[] file;
//The file bridge
public class MyFieldBridge implements StringBridge {
@Override
public String objectToString(final Object object) {
byte[] file = (byte[]) object;
return MagicFileUtil.getTextContent(file)
}
}
由于没有找到这个MagicFileUtil类,所以自己转换byte[]==>String
[url]http://bbs.csdn.net/topics/297981[/url]
MyFieldBridge.java改成
import org.hibernate.search.bridge.StringBridge;
/**
* Created with IntelliJ IDEA.
* User: pandy
* Date: 13-7-3
* Time: 下午2:02
* To change this template use File | Settings | File Templates.
*/
public class MyFieldBridge implements StringBridge {
@Override
public String objectToString(final Object object) {
byte[] file = (byte[]) object;
//return MagicFileUtil.getTextContent(file);
return String.valueOf(file);
}
}
[color=red][b]如果可以, 最好到org.hibernate.search.bridge.builtin去寻找相应的Bridge类.[/b][/color] 如果不行, 看就情况对字段的特殊类型做实现, 比如实现TwoWayStringBridge.