2009-11-19 7 views
1

J'ai Solr avec base de données indexée. Dans ma base de données, toutes les données sont en letton. Le problème est, je dois être capable de rechercher le mot Riga comme si c'était le mot Rīga. Bien sûr, je peux définir le synonyme - Rīga = Riga, mais puis-je définir, cette lettre ī est la lettre i? J'ai lu quelque chose à propos de solr.ISOLatin1AccentFilterFactory, mais pour autant que j'ai compris, ce n'est pas pour l'encodage UTF-8, non? Des conseils?Solr - substitution de caractères

Répondre

2

Utilisé PatternReplaceFilterFactory avec index et requête. Ça semble fonctionner correctement.

1

ISOLatin1AccentFilterFactory est exactement ce que vous cherchez ... tant que l'accent EXISTS dans le jeu de caractères latin-1 (7 bits inférieurs de UTF-8 sont identiques à latin-1). Le ī que vous avez mentionné ne semble pas exister dans ISO-8859-1, donc ISOLatin1AccentFilterFactory ne fonctionnera pas dans ce cas SPÉCIFIQUE. Je recommande toujours que vous utilisez ISOLatin1AccentFilterFactory en plus des exceptions que vous prenez soin d'utiliser PatternReplaceFilterFactory comme il y a probablement quelques caractères lettons qu'il aide (en supposant, je n'ai pas d'expérience avec la Lettonie)

Pour votre information, je a effectivement essayé le contre mon installation de Solr avec ISOLatin1AccentFilterFactory et cela n'a pas aidé ce cas.