2011-07-08 3 views
0

J'utilise la recherche solr. mon champ de recherche contient à la fois diamond et Diamond. Mais quand je cherche Diamond ou diamond il me donne des résultats corrects. Mais quand je cherche Diamond* ou diamond*, j'obtiens le résultat pour diamond* mais aucun résultat trouvé pour Diamond*. bien que je l'ai appliqué <filter class="solr.LowerCaseFilterFactory"/>.problème dans la recherche de chaîne majuscule avec caractère générique

-vous s'il vous plaît me suggérer ce qui peut être la question.

Répondre

3

« Contrairement à d'autres types de requêtes Lucene, Wildcard, Prefix, et les requêtes Fuzzy ne sont pas passé à travers l'analyseur, qui est le composant qui effectue des opérations telles que éraflage et en minuscules »

http://wiki.apache.org/lucene-java/LuceneFAQ#Are_Wildcard.2C_Prefix.2C_and_Fuzzy_queries_case_sensitive.3F

Dans ce lien il y a la solution de contournement pour ce problème

+0

ya je suis arrivé au point que les requêtes de cartes sauvages ne passe pas à travers les analyseurs, mais comme dans mes documents j'ai mot-clé « diamant » que quand je recherche pour Diamond * il doit rechercher Diamond .. n'est-ce pas ?? – Romi

+0

Nope, le caractère générique verrouille le jeton, il ne fonctionne pas THROU le filtre minuscule –

+0

: Que ce que je peux le faire, il devrait me montrer le résultat pour Diamond si je requête comme diamant * – Romi

Questions connexes