2011-06-03 3 views
0

Mon solr fichier xml est commeproblème avec solr recherche

<doc><UserId>12</UserId><UserIdInCommunity>1</UserIdInCommunity><CommunityId>1</CommunityId><UserEmail>[email protected]</UserEmail></doc><doc><UserId>12</UserId><UserIdInCommunity>2</UserIdInCommunity><CommunityId>3</CommunityId><UserEmail>[email protected]</UserEmail></doc> 

Il est clair ici que l'utilisateur id 12 existe dans deux communautés, mais quand je recherche dans solr avec une requête « UserEmail: Gaurav @ somemail.com ", il retourne un seul enregistrement, alors que si je le cherche avec du texte libre, je veux dire" [email protected] ", il retourne les enregistrements appropriés.

Aidez-nous s'il vous plaît.
Merci,
Gaurav

+0

est ce segment XML une valeur de champ? Si oui, quel est le type de champ correspondant? sinon, qu'est-ce que c'est? –

Répondre

0

Est-UserEmail un champ de chaîne? Si oui, vous avez un ">" supplémentaire dans votre document après l'adresse email: "[email protected]>". Les champs de chaîne requièrent une correspondance exacte, sauf si vous utilisez un *. Vous pouvez donc vérifier votre code XML. Vous pourriez aussi vouloir essayer une recherche générique comme:

UserEmail:[email protected]* 

Enfin, je recherche le code d'utilisateur spécifique qui ne se présente pas dans votre requête, comme:

UserId:12 

Cela vous indiquera à quoi correspond leur email après son indexation.

Une autre question que j'ai est ce que vous utilisez pour votre champ ID dans votre index? Si vous avez plusieurs enregistrements avec le même ID utilisateur ou e-mail et que c'est votre ID, vous n'aurez qu'un seul enregistrement (Solr mettra à jour l'enregistrement au lieu d'en ajouter un nouveau).

+0

Désolé pour avoir fait une faute de frappe avec email. Comme je l'avais tapé manuellement, un ">" avait été ajouté là. En ce qui concerne mon problème, j'ai mis à jour le fichier de schéma pour une raison quelconque et je n'ai pas re-posté le fichier XML. C'est pourquoi le comportement de Solr était étrange. Après réindexation, le problème a disparu. Merci. – gaurav