1
我對spring-data SOLR和SOLR很新,所以請原諒我一些愚蠢的新手問題。用spring-data solr嵌套文檔
目前我正在創造一個彈簧啓動1.4.1.RELEASE應用,彈簧數據的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;
}
類聯繫人:
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
}
類地址是類似於接觸。我期望的是在SOLR中具有結構化數據,但Contact和Address對象是平坦的。據我發現有一個叫做嵌套文件功能,支持結構化數據,我希望通過給註釋
@Field(child=true, value="retailerContact")
激活此功能,但遺憾的是這並沒有改變任何東西。
是否有某處使用嵌套文檔的spring-data SOLR示例?春季資料SOLR主頁中鏈接的示例似乎並未使用此功能。
任何提示表示感謝,提前謝謝!
不幸的是,SolrJConverter沒有把戲。我將你的代碼片段添加到了我的測試配置中,但數據在solr中的輸入方式沒有任何變化。是否可以將某個功能完整的演示應用程序用作模板?只是爲了確保我沒有做任何錯誤配置。 – flexguse