Я работаю с Solr 3.5.0.Я импортирую данные из источника данных JDBC, и у меня есть поле с разделителями, которое я хотел бы разделить на отдельные значения.Я использую RegexTransformer
, но мое поле не разделяется.
пример значения
Bob,Carol,Ted,Alice
data-config.xml
<dataConfig>
<dataSource driver="..." />
<document>
<entity name="ent"
query="SELECT id,names FROM blah"
transformer="RegexTransformer">
<field column="id" />
<field column="names" splitBy="," />
</entity>
</document>
</dataConfig>
schema.xml
<schema name="mytest" version="1.0">
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true"
omitNorms="true"/>
<fieldType name="integer" class="solr.IntField" omitNorms="true"/>
</types>
<fields>
<field name="id" type="integer" indexed="false" stored="true"
multiValued="false" required="true" />
<field name="name" type="string" indexed="true" stored="true"
multiValued="true" required="true" />
</fields>
</schema>
Когда я ищу : Я получаю результат doc
элемент, подобный этому:
<doc>
<int name="id">22</int>
<arr name="names">
<str>Bob,Carol,Ted,Alice</str>
</arr>
</doc>
Я надеялся получить это вместо этого:
<doc>
<int name="id">22</int>
<arr name="names">
<str>Bob</str>
<str>Carol</str>
<str>Ted</str>
<str>Alice</str>
</arr>
</doc>
Вполне возможно, я неправильно понял RegexTransformer
раздел вики.Я попытался изменить свой разделитель, и я попытался использовать другое поле для частей (как показано в вики) ...
<field column="name" splitBy="," sourceColName="names" />
... но это привело к пустому name
поле.Что я делаю не так?