如何使用 Spring Data Elasticsearch 为字段实现自定义转换器?
How to implement the custom converter for a field using Spring Data Elasticsearch?
我需要在 spring data elastic-search
中实现自定义转换器。保存和检索时,我需要将某些内容连接到文本中。我在这里看到了类似的。答案是说它现在已经实施并且可用。但是我没有找到任何示例如何实现它。所以有人知道怎么做吗?
您可以在库的测试代码中找到示例。
您必须创建一个转换器:
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;
}
}
}
然后为您的实体 属性 注册它 class:
@Document(indexName = "foo")
class Entity {
@Field(type = FieldType.Text)
@ValueConverter(FooConverter.class)
private String someField;
// ...
}
我需要在 spring data elastic-search
中实现自定义转换器。保存和检索时,我需要将某些内容连接到文本中。我在这里看到了类似的
您可以在库的测试代码中找到示例。
您必须创建一个转换器:
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;
}
}
}
然后为您的实体 属性 注册它 class:
@Document(indexName = "foo")
class Entity {
@Field(type = FieldType.Text)
@ValueConverter(FooConverter.class)
private String someField;
// ...
}