0

我有一个名为 Dataset 的类,它有一个 Organization 字段。我想将此添加到 solr 索引中。我也给了组织的字段适当的注释。

public class Dataset {

    @Field("publisher")
    @rdf("http://www.w3.org/ns/foaf#publisher")
    private Organization publisher;

public class Organization  {

    @Field("OrganizationName")
    @rdf("http://www.w3.org/ns/foaf#name")
    private String name;

但是当我将 bean 添加到 solr 时,我得到的是这样的:

<doc>
<arr name="keyword">
<str>public</str>
</arr>
...
<date name="modified">1995-12-31T23:59:59Z</date>
<str name="publisher">Organization [name=MECON]</str>
...
<str name="type">dataset</str>
</doc>

我真的不喜欢它的外观,并且从中获取方面很难看。我想得到一个名为 publisherName 的单个字段或类似的东西(组织类中的每个字段一个字符串)。我需要为发布者字段定义一个 fieldType 吗?如何解决这个问题?有什么例子吗?

4

2 回答 2

1

据我所知,SolrJ 还不支持嵌套对象。请参阅有关它的相应 JIRA 问题以获取更新和/或为实施它做出贡献。

同时,由你来展平你的对象图。

于 2011-05-08T16:17:26.963 回答
0

这个问题现在已经解决了,很难弄清楚如何使用文档对象绑定,所以我要求更新https://issues.apache.org/jira/browse/SOLR-11032上的 solj 教程和修复后将立即更新此答案。

于 2017-07-07T10:12:50.350 回答