2016-11-17 3 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 к одному из выше, и все, что не соответствует ни одному из тех, ~ 35 имен, добавляемый с _s, чтобы сделать это строка.

Возможно ли это в Solr 6?

+0

В настоящее время я закончил писать сценарий python, который временно хранит пакеты данных и соответственно обновляет заголовки. – DeeVu

ответ

0

Вы всегда можете просто объявить динамическую звезду поля (*), чтобы иметь тип строки. Таким образом, вам не нужно калечить суффиксы.

Смежные вопросы