2016-09-30 3 views
1

Я очень новичок в данных SOLR и SOLR с пружинными данными, поэтому, пожалуйста, простите мне несколько глупых вопросов новичков.Вложенные документы с пружинными данными 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") 

, но, к сожалению, это ничего не изменило.

Есть ли где-нибудь пример SOLR с пружинными данными с использованием вложенных документов? Пример, связанный на домашней странице SOLR с пружинными данными, похоже, не использует эту функцию.

Подсказка приветствуется, заблаговременно!

ответ

0

По умолчанию MappingSolrConverter еще не поддерживает вложенные документы. Однако вы можете переключиться на SolrJConverter, который использует собственное сопоставление.

@Bean 
public SolrTemplate solrTemplate(SolrClient client) { 

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

К сожалению, SolrJConverter не подделка. Я добавил фрагмент кода к моей тестовой конфигурации, но ничего не изменилось в том, как данные помещаются в solr. Где-то полнофункциональное демо-приложение, которое я могу использовать в качестве шаблона? Просто чтобы убедиться, что я не сделал никакой неправильной конфигурации. – flexguse