2011-02-07 16 views

risposta

4

Sì, è possibile farlo utilizzando il file YAML di configurazione interna di ElasticSearch.

Vedere config docs per come modificare le impostazioni dell'analizzatore.

16

Per impostazione predefinita, l'uso di analizzatore elasticsearch è un standard analyzer con le parole d'ordine inglesi Lucene predefinite. Ho configurato elasticsearch per utilizzare lo stesso analizzatore ma senza parole d'ordine aggiungendo quanto segue al file elasticsearch.yml.

# Index Settings 
index: 
    analysis: 
    analyzer: 
     # set standard analyzer with no stop words as the default for both indexing and searching 
     default: 
     type: standard 
     stopwords: _none_ 
4

È possibile ignorare analizzatore di default a livello globale e disattivare il filtro stopword aggiungendo queste righe al elasticsearch.yml:

index.analysis.analyzer.default: 
    type: custom 
    tokenizer: standard 
    filter: standard, lowercase 

questo modo si crea un analizzatore personalizzato con il tokenizzatore standard e due filtri: standard e minuscolo. In questo modo il tuo analizzatore personalizzato sarà identico all'analizzatore standard ma non utilizzerà il filtro stopword. Poiché è denominato "predefinito", elasticsearch lo utilizzerà ovunque dove l'analizzatore non è impostato in modo esplicito.

+1

Questa è in realtà la risposta migliore che ho visto a questa domanda, in quanto rimuove il filtro stopword e quindi rende il codice più compatto. –

Problemi correlati