Lottando per far corrispondere iPhone durante la ricerca di iphone in Elasticsearch.Escludi dal tokenizzatore CamelCase in Elasticsearch
Poiché ho in gioco qualche codice sorgente, ho sicuramente bisogno di CamelCase tokenizer, ma sembra che rompa l'iPhone in due termini, quindi non è possibile trovare l'iphone.
Qualcuno sa come aggiungere eccezioni alle parole di camelCase in token (cammello + caso)?
AGGIORNAMENTO: per rendere più chiaro, voglio che NullPointerException venga tokenizzato come [null, pointer, exception], ma non voglio che iPhone diventi [i, phone].
Qualsiasi altra soluzione?
UPDATE 2: @ risposta di ChintanShah suggerisce un approccio diverso che ci dà ancora più - NullPointerException verrà token come [nullo, puntatore, eccezione, nullpointer, pointerexception, NullPointerException], che è sicuramente molto più utile dal punto di vista di quello che cerca. E l'indicizzazione è anche più veloce! Il prezzo da pagare è la dimensione dell'indice, ma è una soluzione superiore.
cosa non usi il filtro minuscolo? Minuscole tutte le parole – ChintanShah25
@ ChintanShah25 In che modo questo aiuta a correggere il tokenizzatore? (e btw - utilizzo il filtro minuscolo) I tokenizer – tishma
sono diversi dai filtri. iPhone verrà indicizzato come iphone con filtro minuscolo. Sarebbe utile se tu pubblicassi il tuo attuale anlayzer e mappassi – ChintanShah25