2017-06-27 2 views
1

J'utilise solr pour indexer un très grand nombre de documents. Une de mes exigences est que chaque document doit avoir un identifiant unique, que j'ai essayé de mettre en œuvre en utilisant la méthode Unique Key. Cependant, quand j'utiliser la commande « post » pour indexer les documents que normalement, je reçois beaucoupInvalid UUID String solr

<response> 
<lst name="responseHeader"><int name="status">400</int><int name="QTime">15</int></lst><lst name="error"><lst name="metadata"><str name="error-class">org.apache.solr.common.SolrException</str><str name="root-error-class">org.apache.solr.common.SolrException</str></lst><str name="msg">Invalid UUID String: '/Volumes/filePlace/file1.html'</str><int name="code">400</int></lst> 
</response> 

dans la sortie, et aucun document sont indexés. Comment puis-je réparer ça?

La commande post-je utiliser la syntaxe est régulière:

post -c NewCore . 

où. est le dossier actuel contenant tous les fichiers.

+0

montre comment vous utilisez la commande de publication – Persimmonium

+0

@Persimmonium l'a ajouté, mais je ne pense pas que cela devrait changer quoi que ce soit. –

+1

Je crois que vous devez changer votre colonne id de UUID à un type de chaîne. Serait-il possible de fournir le contenu du fichier de schéma géré? – webwake

Répondre

1

J'ai compris que mon erreur était que je indexais des documents riches en utilisant l'outil post inclus dans solr. Toutefois, lors de l'indexation de documents riches tels que html avec post, la requête HTTP POST doit avoir literal.id spécifié à quelque chose, sinon il ne s'exécute pas. L'outil post définit automatiquement literal.id sur l'emplacement du fichier, et comme le champ id est défini comme étant de type UUID, une erreur est générée. Je suis maintenant commuté id dans le fichier managedschema être de type chaîne et a décidé d'utiliser les commandes postales individuelles telles que

post -c NewCore -params literal.id=55 /Volumes/mainVolume/thingy.html 

et d'attribuer chaque document riche d'un identifiant avant d'être indexé.