【发布时间】:2022-01-26 14:34:19
【问题描述】:
我需要在
spring data elastic-search
中实现一个自定义转换器。保存和检索时,我需要将某些内容连接到文本。我在这里看到过类似的
question
。答案是说它现在已经实施并且可用。但我没有找到任何如何实现它的例子。那么有人知道怎么做吗?
我需要在
spring data elastic-search
中实现一个自定义转换器。保存和检索时,我需要将某些内容连接到文本。我在这里看到过类似的
question
。答案是说它现在已经实施并且可用。但我没有找到任何如何实现它的例子。那么有人知道怎么做吗?
您可以在库的测试代码中找到示例。
你必须创建一个转换器:
class FooConverter implements PropertyValueConverter {
public static final String PREFIX = "foo-";
@Override
public Object write(Object value) {
return PREFIX + value.toString();
}
@Override
public Object read(Object value) {
String valueString = value.toString();
if (valueString.startsWith(PREFIX)) {
return valueString.substring(PREFIX.length());
} else {
return value;
}
}
}
然后为你的实体类的属性注册它:
@Document(indexName = "foo")
class Entity {
@Field(type = FieldType.Text)
@ValueConverter(FooConverter.class)
private String someField;
// ...
}