2010-11-23 2 views
0

Je souhaite effectuer une recherche sur 100 000 et 100 000 uniquement en interrogeant 100 000 (ou en interrogeant uniquement 100 000).
Est-il possible de chercher comme ça.SOLR ignorer la virgule et autres signes de ponctuation lors de la recherche

Le but est d'effectuer ce que l'utilisateur peut ajouter une virgule à un lieu ou pas de virgule du tout, mais les cordes (100.000 ou 100000) devrait être contrôlé de toute façon ...

Répondre

1

Je ne sais pas si cela est correct, mais peut-être que vous pouvez écrire une sorte de fabrique de filtres où les nombres sont toujours indexés comme des nombres formatés avec des virgules et avec des virgules. Ou vous pouvez avoir à la fois l'index & stocker l'analyseur de requête le mot sans virgule.

+0

d'accord, ne semble pas d'autre possibilité. – Umer

0

juste retirer la, de la requête si elle est dans un certain nombre

(si vous utilisez Java au niveau du client -> Parse le nombre et faire toString)

6

Essayez d'utiliser solr.WordDelimiterFilterFactory avec catenateNumbers = "1" dans la définition de l'index et de la requête de votre champ.

Vous avez quelques docs ici: WordDelimiterFactory

Questions connexes