2016-06-21 2 views
0

Je suis nouveau à Solr et face à des problèmes tout en optimisant la recherche dans solr. Lorsque je recherche "C4902AN # 140", il affiche les résultats avec "140" en premier et le résultat avec "" C4902AN # 140 "apparaît plus tard.ie après les résultats contenant" 140 ".Mais je veux un résultat avec" C4902AN # 140 " avant que les résultats ayant « 140 ».Rechercher avec "Hash" dans Solr

Merci à l'avance !!!

+0

Quelle est votre analyse? –

Répondre

0

vous pouvez vérifier auprès tokenizer que vous avez utilisé pour la définition de type de champ dans le fichier de schéma.

si le type de champ a solr.standardTokenizer il enlèvera le caractère #

OU

vous devriez envisager stimuler le document qui a « C4902AN # 140 »

vous pouvez utiliser le fichier elevate.xml dans le dossier de configuration et ne citer que quel document apparaisse d'abord dans la chaîne pour resultset searchTerm spécifique.

+0

Il semble que "#" ne fonctionne pas dans le fichier elevate.xml. Seul le texte simple fonctionne comme "foo bar" .Toute idée pour tokenizer? Merci pour votre aide –

+0

Dans le fichier de schéma, remplacez solr.StandardTokenizerFactory par solr.WhitespaceTokenizerFactory pour ce champ Définition de type (champ qui stocke les valeurs "C4902AN # 140") – vinod

0

L'analyseur que vous utilisez pour cela devrait utiliser KeyWordTokenizerFactory afin que votre mot entier ne soit pas Tokenized, mais seulement un seul jeton, c'est à dire le mot lui-même est généré.