0

我是 solr 的新手,当我尝试在 Solr 中序列化/反序列化 Map 时遇到问题。

我在我的 Java 应用程序中使用 Spring Data Solr,如下所示:

@Field("mapped_*")
private Map<String, String> values;

它在 Solr 中展平并序列化我的地图,如下所示:

"key1" : "value1"
"key2" : "value2"
...

但是,当我运行搜索时,返回的对象始终将此字段设置为 NULL。反序列化不适用于此特定字段,看起来它无法将 key1、key2... 识别为 Map 的一部分。

有谁知道如何使反序列化工作?我必须实现自定义转换器吗?

4

1 回答 1

3

此时 Spring Data Solr 不会自动使用给定的映射中包含的值作为前缀@Field#value,而只会使用Map#key作为字段名。有一个改进(DATASOLR-202)打开。

此时在key1中有, key2,..需要字段名才能正确读回值。key*

@Field("key*")
private Map<String, String> values;
于 2015-03-30T06:52:59.510 回答