Permettez-moi de préciser que j'ai parcouru tout ce que j'ai pu trouver sur ce sujet, y compris les documents Solr et toutes les questions SO.Définition des entités imbriquées dans Solr Data Import Handler
J'ai une instance Solr que j'ai configurée avec un Data Import Hanlder pour extraire des données de MSSQL en utilisant le pilote JDBC. Les données sont, mais il est pas structuré comme je l'estimation prévue dans la documentation Solr DIH
<document>
<entity>
<entity />
</entity>
</document>
J'ai essayé tous les attributs comme rootEntity, aplatissent, en utilisant CachedSqlProvider, etc. Avec Multivalued = » True » le résultat finit par
docs [
{
recordId: '1234',
name: 'whatever'
subrows_col1: ['x','y','z']
subrows_col2: ['a','b','c']
}
]
Quand je suis à la recherche
docs [
{
recordId: '1234',
name: 'whatever'
subrows: [{
col1: 'x',
col2: 'a'
},
{
col1: 'y',
col2: 'b'
},
{
col1: 'z',
col2: 'c'
}]
} ]
J'ai vu les choses de bloc rejoindre, mais je suis confus quant à l'endroit où il va. J'ai ajouté
<add>
<doc>
<field />
<doc>
<field />
</doc>
<doc>
</add>
au DIH requestHandler, mais il n'a rien fait. Je l'ai ajouté à la/updateHandler de mise à jour et j'ai eu une erreur. Je n'ai aucune idée de l'endroit où cela est supposé aller. Est-ce que cela fonctionne seulement pendant une requête ou est-ce seulement quand vous envoyez des données à solr via/update?
Où puis-je définir la structure du document? J'ai essayé les champs imbriqués dans le schéma, les entités dans la config DIH et le bloc-joint dans les requestHandlers. rien n'a encore fonctionné.
De toute évidence, il me manque quelque chose.
Est-il possible de transmettre un document formaté à Solr et de le stocker de la même manière? –
Vous pouvez envoyer des documents formatés imbriqués à Solr, mais ils doivent être au format que Solr comprend: http://heliosearch.org/solr-4-8-features/. Vous pouvez également être intéressé par SIREn add-on à Solr: http://siren.solutions/siren/overview/ –