Cercando di controllare l'ordine che i filtri dei token vengono applicati in elasticsearch.ordine di controllo dei filtri di token a elasticsearch
So per la documentazione che il tokenizzatore viene applicato per primo, poi i filtri di token, ma non menzionano come l'ordine dei filtri di token è determinata.
Ecco un frammento YAML dal mio script di installazione analisi:
KeywordNameIndexAnalyzer :
type : custom
tokenizer : whitespace
filter : [my_word_concatenator, keyword_ngram]
avrei pensato che sarebbe my_word_concatenator
essere applicato prima keyword_ngram
, ma sembra che questo non è il caso. Qualcuno sa come (o se) l'ordine di questi filtri può essere controllato?
Grazie mille!
Le vostre aspettative sono corrette. I filtri in [analizzatore personalizzato] (https://github.com/elasticsearch/elasticsearch/blob/a0a8538ef9c7d8f24dc9b9f081c548f7d9e8b7cd/src/main/java/org/elasticsearch/index/analysis/CustomAnalyzer.java#L98) vengono applicati nell'ordine specificato dall'array del filtro. Potrebbe fornire un esempio, dove questo non sembra essere il caso? – imotov
Hai ragione - il motivo per cui l'ordine sembrava off era perché ho usato una combinazione senza senso di tokenizer e filtri token. Se sei curioso, my_word_concatenator elimina lo spazio bianco, ma dal momento che stavo usando il tokenizzatore degli spazi bianchi, non c'erano spazi bianchi nei token che arrivavano ai filtri. Quindi 1 non stava accadendo affatto, al contrario di accadere dopo il 2. –