3 votes

Ne divisez pas le texte sur le tiret bas avec solr.StandardTokenizerFactory

Je suis en train d'utiliser solr, j'utilise StandardTokenizerFactory dans le champ de texte mais je ne veux pas diviser sur le trait de soulignement. Dois-je utiliser un autre toknizer comme PatternTokenizerFactory ou puis-je le faire avec StandardTokenizerFactory ? car j'ai besoin de la même fonctionnalité de StandardTokenizerFactory mais sans diviser sur le trait de soulignement.

2voto

arun Points 2635

Je ne pense pas que vous puissiez le faire avec StandardTokenizerFactory. Une solution consiste d'abord à remplacer les tirets bas par quelque chose que StandardTokenizerFactory ne traitera pas et que vos documents ne contiendront pas autrement. Par exemple, vous pouvez d'abord remplacer _ par QQ partout avec PatternReplaceCharFilterFactory et passer par StandardTokenizerFactory, puis remplacer QQ par _ en utilisant PatternReplaceFilterFactory. Voici la définition du type de champ pour le faire :

        ...

Et voici une capture d'écran de ce qui se passe :

Capture d'écran de l'outil d'analyse

0voto

nir Points 131

Ajouter simplement ce qui suit semble fonctionner pour StandardTokenizerFactory car StandardTokenizerFactory divise au tiret "-".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X