Recentemente, sto studiando come memorizzare e indicizzare usando Solr. Voglio fare la ricerca facet.prefix. Con il tokenizzatore degli spazi bianchi, "Where are you" sarà diviso in tre parole e indicizzato. Se cerco facet.prefix = "dove sono", non verrà restituito alcun risultato.Come utilizzare NGramTokenizerFactory o NGramFilterFactory?
I google e ho trovato NGramFilterFactory mi può aiutare. Ma quando applico questa fabbrica di filtri, ho trovato che il risultato è "w, h, e, ..., wh, ..", che divide la frase per carattere, non per parola chiave.
Uso i parametri maxGramSize e minGramSize, impostato su 1 e 3. NGramFilterFactory funziona correttamente? Dovrei aggiungere altri parametri? Ci sono altre fabbriche di filtri che possono aiutarmi?
Grazie!
Sì, è esattamente come funziona ngram. In quale contesto stai usando facet.prefix? –
Non proprio una risposta per te, ma un chiarimento. NGram funziona su singoli personaggi. Può prendere la parola "gatto" e tagliarla in token come "c", "a", "t", "ca", "at" e "cat". Sembra * come si potrebbe desiderare quello che viene chiamato un tokenizer ghiaia, che funziona allo stesso modo, ma a livello di parola invece di un livello di carattere. – rfeak
Ciao Mauricio, voglio usare facet.prefix per il completamento automatico. Con il metodo predefinito, le tre parole verranno indicizzate separatamente. Quando si esegue la ricerca facet.prefix, ovviamente, la ricerca "w" restituirà "where", ma cercando "where", non verrà restituito nulla. Quindi voglio aggiungere i token per indicizzati. – user572485