Je la configuration suivante:Comment WordDelimiterFilterFactory recherche-t-il par jeton avec des chiffres?
@AnalyzerDef(name = "autocompleteNGramAnalyzer",
// Split input into tokens according to tokenizer
tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
filters = {
// Normalize token text to lowercase, as the user is unlikely to
// care about casing when searching for matches
@TokenFilterDef(factory = WordDelimiterFilterFactory.class),
@TokenFilterDef(factory = LowerCaseFilterFactory.class),
@TokenFilterDef(factory = EdgeNGramFilterFactory.class, params = {
@Parameter(name = "minGramSize", value = "2"),
@Parameter(name = "maxGramSize", value = "5") }) })
Cela fonctionne presque comme prévu, mais ont des problèmes avec des mots qui contiennent des chiffres.
Par exemple:
Par ab
retourne lucene jeton abcdefg
, mais si je dois trouver a1
et il y a a1b1c1d1
il ne retourne rien
Comment puis-je changer cette configuration?
Où puis-je lire plus de détails sur ces usines? – gstackoverflow
@gstackoverflow 1. Jetez un oeil à leur javadoc, ou 2. Jetez un oeil à ce wiki non officiel: https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters –