gpt4 book ai didi

spring - 带有 spring-data solr 的嵌套文档

转载 作者:行者123 更新时间:2023-12-04 17:25:08 26 4
gpt4 key购买 nike

我是 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 中的数据看起来不像我预期的那样 - 也许我的预期有误?

我的数据是这样的:

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;
}

类(class)联系方式:

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
}

Address 类类似于Contact。我期望在 SOLR 中有结构化数据,但对象 Contact 和 Address 被扁平化了。目前我发现有一个叫做 Nested Documents 的特性,它支持结构化数据,我希望通过注释来激活这个特性

@Field(child=true, value="retailerContact")

但不幸的是,这并没有改变任何东西。

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

感谢任何提示,提前致谢!

最佳答案

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

@Bean
public SolrTemplate solrTemplate(SolrClient client) {

SolrTemplate template = new SolrTemplate(client);
template.setSolrConverter(new SolrJConverter());
return template;
}

关于spring - 带有 spring-data solr 的嵌套文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39785462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com