2016-11-17 9 views
0
목표는 내 모든 필드 이름 필드의 다음 스키마와 일치하는 것입니다

:SOLR 6.1 : UpdateRequestProcessor 필드 이름을 기반으로 필드 이름에 추가 할

<field name="_version_" type="long" indexed="true" stored="true" /> 
<field name="_root_" type="string" indexed="true" stored="false" /> 
<field name="id" type="string" indexed="true" stored="true" required="true" /> 
<field name="text" type="text_general" indexed="true" stored="false" required="false" multiValued="true" /> 
<dynamicField indexed="true" name="*_is" stored="true" type="int" multiValued="true" /> 
<dynamicField indexed="true" name="*_ls" stored="true" type="long" multiValued="true" /> 
<dynamicField indexed="true" name="*_fs" stored="true" type="float" multiValued="true" /> 
<dynamicField indexed="true" name="*_ds" stored="true" type="double" multiValued="true" /> 
<dynamicField indexed="true" name="*_bs" stored="true" type="boolean" multiValued="true" /> 
<dynamicField indexed="true" name="*_i" stored="true" type="int" /> 
<dynamicField indexed="true" name="*_s" stored="true" type="string" /> 
<dynamicField indexed="true" name="*_ss" stored="true" type="string" multiValued="true" /> 
<dynamicField indexed="true" name="*_txt" stored="true" type="text_general" multiValued="true" /> 
<dynamicField indexed="true" name="*_t" stored="true" type="text_general" /> 
<dynamicField indexed="true" name="*_l" stored="true" type="long" /> 
<dynamicField indexed="true" name="*_b" stored="true" type="boolean" /> 
<dynamicField indexed="true" name="*_f" stored="true" type="float" /> 
<dynamicField indexed="true" name="*_d" stored="true" type="double" /> 
<dynamicField indexed="true" name="*_tdt" stored="true" type="tdate" /> 
<dynamicField indexed="true" name="*_dt" stored="true" type="date" /> 
<uniqueKey>id</uniqueKey> 

그 이유는 두 가지이다 :

  1. 내가 제어하지 않는 들어오는 CSV 데이터를 처리 중입니다. 위의 두 가지 중 하나 인 ~ 35 개의 필드 이름이 있습니다.
  2. 스키마는이 35 개의 필드를 제외하고 계속해서 진화하고 있습니다.

목표는 조건부 위 중 하나에 ~ (35)의 하위 집합과 문자열 만들기 위해 _s가 추가됩니다 ~ 35 명을 그 중 하나와 일치하지 않는 것도이다.

Solr 6에서 가능합니까?

+0

현재 데이터 배치를 임시 저장하고 그에 따라 헤더를 업데이트하는 python 스크립트를 작성하는 일이 발생했습니다. – DeeVu

답변

0

항상 동적 필드 스타 (*)를 선언하여 문자열 유형을 지정할 수 있습니다. 이렇게하면 접미사를 조작 할 필요가 없습니다.