2015-02-02 2 views
1

내가SOLR의 dynamicField이

<schema name="product" version="1.5"> 
    <field name="name" type="text_general" indexed="true" stored="true"/> 
    <dynamicField name="*_t" type="text_general" indexed="true" stored="true"/> 
    ... 

내 제품과 같은 스키마와 SOLR 코어를 가지고하는 것은

{name : "product1", color_t:"red", foo_t : "bar" , ....} 

로 SOLR에 저장한다고 가정하는

{name : "product1", color : "red", foo : "bar", ....} 

처럼 내가 solr을 연결하고 사용하기 위해 spring-data-solr을 사용하고있다. 동적 필드는 동적이므로 내 @SolrDocument에 정의 할 수 없으므로 내 제품에 대한 쉬운 업데이트 또는 쿼리가 없습니다.

org.apache.solr.client.solrj.SolrServer으로 작업을 수동으로 수행 할 수 있습니다. 동적 데이터 필드를 처리하기 위해 스프링 데이터를 사용하고 있습니까? 아마도 Document에 Map을 정의하고 Spring에게지도 키를 solr 필드로 사용하도록 요청할 것입니까?

답변

2

당신은 당신이 Map<String,List>, 아니면 그냥 Map<String,String>

+0

감사를 할 수 있습니다하는 Map가 _t 필드는 여러 값을 가정

private @Field("*_t") Map<String, List<String>> textMap; 

다음과 같이 동적 필드에 대해 정의 할 수 있습니다. 그게 내가 원하는 것 뿐이야. 나는 그것을 어떻게 놓쳤는가? 스프링 문서의 [이 링크] (http://docs.spring.io/spring-data/solr/docs/current/reference/html/#solr.mapping.mappingSolr)에 대해 자세히 알고 싶습니다. 예제가 필요하다. – alizelzele