Mapeamento de uma coluna db para vários campos no Solr
-
23-12-2019 - |
Pergunta
Quero mapear de uma coluna no banco de dados MySQL para várias colunas no Solr.Suponha que minha tabela db seja Car, aqui está meu arquivo data-config.xml:
<dataConfig>
<document name="car">
<entity name="car" query="select * from cars" transformer="TemplateTransformer">
<field column="id" name="id" template="Car ${car.id}"/>
<field column="id" name="id_ss" />
</entity>
</document>
</dataConfig>
No esquema Solr tenho 2 campos com o seguinte formato:
id: with format "Car {id from db}"
id_ss: with format "{id from db}"
Mas depois de usar o transformador de modelo, meus dados são indexados assim (mesmo que eu não use o transformador de modelo no campo id_ss):
id: "Car {id from db}"
id_ss: "Car {id from db}"
Como posso fazer funcionar como eu quero?
Solução
faça assim:
<entity name="car" query="select id as id_ss, concat('Car ', id) as id from cars">
<field column="id" name="id" template="Car ${car.id}"/>
<field column="id_ss" name="id_ss" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow