我有一个 solr 架构,其中包含不同类型的动态字段。例如,在 schema.xml 中有:
<dynamicField name="*_s" type="string" indexed="true" stored="true"/>
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
<dynamicField name="*_l" type="long" indexed="true" stored="true"/>
<dynamicField name="*_f" type="float" indexed="true" stored="true"/>
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
我想使用 SolrJ 注释的 POJO 访问这些字段。我知道我可以为 POJO 中的每种数据类型提供不同的 Map 引用,如下所示:
...
@Field("*_s")
public Map<String, String> strings;
@Field("*_i")
public Map<String, Integer> integers;
...
但是是否可以将所有动态字段存储在同一个地图中?我在想类似的事情:
...
@Field("*_s")
@Field("*_i")
public Map<String, Object> dynamicFields;
...
我能找到的关于 SolrJ、POJO 和动态字段的唯一文档是一个旧的功能请求: https ://issues.apache.org/jira/browse/SOLR-1129