J'ai créé un index à l'aide de certaines données. Maintenant, j'utilise WildcardQuery pour rechercher ces données. Les documents indexés portent un nom de domaine Product Code
contre lequel je suis en train de chercher.WildcardQuery ne renvoie pas le résultat correct
est Ci-dessous le code que j'utilise pour créer la requête et la recherche:
Term productCodeTerm = new Term("Product Code", "*"+searchText+"*");
query = new WildcardQuery(productCodeTerm);
searcher.search(query, 100);
La variable searchText contient la chaîne de recherche qui est utilisé pour la recherche l'index. Dans le cas où searchString
est « jf », je reçois le résultat suivant:
JF32358
JF5215
JF2592
Maintenant, lorsque je tente de rechercher à l'aide 25, or f2 or f3
ou toute autre chose autre que d'utiliser uniquement j,f,jf
, la requête n'a pas de résultats. Je ne suis pas capable de comprendre pourquoi cela se passe. Quelqu'un peut-il m'aider à comprendre la raison pour laquelle la recherche se comporte de cette manière?
cas sensible problème? related: http://stackoverflow.com/questions/2432486/lucene-wildcard-queries –
Case n'est pas le problème ici. Les parties numériques sont toujours les mêmes, elles ne sont pas en majuscules ou en minuscules. – Logan
mais vous avez dit 'f2', 'f3' et pas seulement '2' ou '3'. –