首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用spring-data solr的嵌套文档

使用spring-data solr的嵌套文档
EN

Stack Overflow用户
提问于 2016-09-30 14:56:47
回答 1查看 1.7K关注 0票数 3

我是spring-data SOLR和SOLR的新手,所以请原谅我一些愚蠢的新手问题。

目前,我正在创建一个spring-boot 1.4.1.RELEASE应用程序、spring-data solr 2.0.3.RELEASE和solr-solrj 5.5.3以及Java 8。

我可以将数据放入本地SOLR实例中,但SOLR中的数据看起来并不像我预期的那样--也许我的预期是错误的?

我的数据如下所示:

代码语言:javascript
复制
public class Retailer{
    /**
     * The number of the retailer, unique identifier
     */
    @Id
    @Indexed
    @Field
    @NotBlank(message = ValidationConstants.ERROR_MISSING_SAP_RETAILER_NUMBER)
    @Column(unique = true)
    private String sapRetailerNumber; // NOSONAR

    /**
     * The company name of the retailer.
     */
    @Field
    @Indexed
    @NotBlank(message = ValidationConstants.ERROR_VALIDATION_MISSING_NAME)
    private String name; // NOSONAR

    @Field(child=true, value="retailerContact")
    @Indexed
    @NotNull(message = ValidationConstants.ERROR_VALIDATION_MISSING_CONTACTINFO)
    @Valid
    private Contact contact;

    @Field(child=true, value="retailerAddress")
    @Indexed
    @NotNull(message = ValidationConstants.ERROR_VALIDATION_MISSING_ADDRESS)
    @Valid
    private Address address;
}

班级联系人:

代码语言:javascript
复制
public class Contact {
    @Field
    @Indexed
    @NotBlank(message = ValidationConstants.ERROR_VALIDATION_MISSING_EMAIL)
    @Email(message = ValidationConstants.ERROR_VALIDATION_INVALID_EMAIL, regexp = ValidationConstants.EXPRESSION_RFC5322_MAIL)
    private String email; // NOSONAR

    @Field
    @Indexed
    @NotBlank(message = ValidationConstants.ERROR_VALIDATION_MISSING_HOMEPAGE)
    private String homepage; // NOSONAR

    @Field
    @Indexed
    private String phone; // NOSONAR

    @Field
    @Indexed
    private String fax; // NOSONAR
}

类地址类似于Contact。我所期望的是在SOLR中有结构化数据,但是Contact和Address对象是扁平化的。到目前为止,我发现有一种称为嵌套文档的功能,它支持结构化数据,我希望通过提供注释来激活这一功能

代码语言:javascript
复制
@Field(child=true, value="retailerContact")

但不幸的是,这并没有改变任何事情。

有没有使用嵌套文档的spring-data SOLR示例?spring-data SOLR主页中链接的示例似乎没有使用此功能。

如有任何提示,欢迎光临,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-10-04 15:54:23

默认MappingSolrConverter尚不支持嵌套文档。但是,您可以切换到使用本机映射的SolrJConverter

代码语言:javascript
复制
@Bean
public SolrTemplate solrTemplate(SolrClient client) {

    SolrTemplate template = new SolrTemplate(client);
    template.setSolrConverter(new SolrJConverter());
    return template;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39785462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档