Mappage d'une colonne DB à plusieurs champs dans SOLR
-
23-12-2019 - |
Question
Je veux mapper de une colonne dans la base de données MySQL à plusieurs colonnes de Solr.Supposons que ma table de dB soit une voiture, voici mon fichier de données-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>
dans le schéma SOLR, j'ai 2 champ avec le format suivant:
id: with format "Car {id from db}"
id_ss: with format "{id from db}"
Mais après avoir utilisé Tempate Transformer, mes données sont indexées comme ceci (même si je n'utilise pas de transformateur de modèle sur le champ ID_SS):
id: "Car {id from db}"
id_ss: "Car {id from db}"
Comment puis-je le faire fonctionner comme je le veux?
La solution
Faites-le de cette façon:
<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" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow