J'ai lu quelques tutoriels et parcouru la documentation de Solr. Mais une chose n'est pas claire pour moi. Permettez-moi de vous expliquer:Solr - Ecrire le résultat d'un analyseur dans différents champs
Regardons les choses en Asume que le document suivant est indexé:
<doc>
<field name="id">R12345</field>
<field name="title">My title</field>
<field name="content">My Content</field>
</doc>
Contrairement à ce document, l'index doit contenir un champ supplémentaire appelé « docType ». Ce champ d'index supplémentaire doit être rempli à l'aide d'une "règle d'achèvement". L'idée sous-jacente:
Si id commence par le caractère "R", alors écrivez la chaîne "Resolve" dans le champ docType dans l'index. Si id commence par le caractère "C", alors écrivez la chaîne "Contribute" dans le champ docType de l'index.
Le document ci-dessus devrait être disponible dans l'index avec les champs suivants:
id=R12345
title=My Title
content=My Content
docType=Resolve
Mon idée est d'utiliser un analyseur pour cela. Le résultat de l'analyseur sera alors écrit dans le champ "id" dans l'index comme d'habitude (seulement une copie du texte original) mais le résultat "Resolve" ou "Contribute" devrait être écrit dans un autre champ.
Ma question fondamentale est: Comment cela peut-il être réalisé dans l'analyseur (Java snipped)? Pour le rendre plus complexe, le champ d'index "docType" doit être interrogeable et doit être disponible dans le résultat de la recherche. A quoi ressemblera le schéma pour l'ID de champ et le docType?
Merci à l'avance Tobias
Merci pour le rapide répondre. Si je vous ai bien compris, ne copie pas directement dans l'index, mais copie le contenu de la source dans le champ de destination avant l'exécution de l'analyseur et le résultat de l'analyseur est alors enregistré dans l'index? Excellente idée, bonne réponse, merci beaucoup. Est-il également possible d'écrire des valeurs dans un analyseur dans des champs d'index personnalisés en utilisant le code source Java? –
Vous le comprenez bien; La copie sur le terrain est faite en premier, puis l'analyse. Si vous voulez créer des analyseurs personnalisés, voir: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#Analyzers –