私はバネデータSOLRとSOLRの新機能ですので、いくつかの愚かな新人質問を許してください。バネデータソルラーを含むネストされたドキュメント
現在、私は私がすることができるよJavaの8と一緒に
を春ブート1.4.1.RELEASEアプリケーション、春・データのSolr 2.0.3.RELEASEとSolrの-solrj 5.5.3を作成していますデータをローカルの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")
を与えることによって、この機能を有効にすることを望んだが、残念ながら、これは何も変更しませんでした。
ネストされたドキュメントを使用したスプリングデータSOLRの例がありますか?スプリングデータSOLRのホームページにリンクされている例では、この機能は使用されていないようです。
何かヒントありがとうございます、事前に感謝します!
残念ながら、SolrJConverterはトリックをしませんでした。あなたのコードスニペットをテスト構成に追加しましたが、データがsolrに入れられる方法は変わりません。私はテンプレートとして使用できる完全に機能的なデモアプリケーションのどこかにありますか?ちょうど私が誤った構成をしていないことを保証するためです。 – flexguse