in particolare, voglio indicizzare tutto (ad es. Chi) con l'elenco di parole senza stop. La ricerca elastica è abbastanza flessibile e abbastanza facile da cambiare?Posso personalizzare la ricerca elastica per utilizzare il mio elenco di parole di arresto?
risposta
Sì, è possibile farlo utilizzando il file YAML di configurazione interna di ElasticSearch.
Vedere config docs per come modificare le impostazioni dell'analizzatore.
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_
È 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.
Certo che puoi. Usa stopwords_path in forma di stopword. per ulteriori informazioni http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-stop-analyzer.html
- 1. Ricerca elastica: utilizzare il filtro e la query bool
- 2. Come eseguire un'istanza di ricerca elastica incorporata per il test
- 3. Posso configurare le parole di arresto programmaticamente con la ricerca full-text di PostgreSQL?
- 4. Ricerca elastica - Quando utilizzare un altro indice?
- 5. Come utilizzare la ricerca elastica su un database SQL preesistente?
- 6. Supporto Schemaless per query di ricerca elastica
- 7. Ricerca elastica e "sottocategorie"
- 8. C++ api per ricerca elastica
- 9. Ricerca elastica più parole chiave in più campi
- 10. Informazioni sulla ricerca elastica
- 11. Ignora gli accenti usando la ricerca elastica e il pneumatico
- 12. Ricerca elastica con Nest
- 13. Ricerca elastica per la gestione degli indici mancanti
- 14. Dove posso trovare un elenco di parole di arresto in ebraico?
- 15. Compressione e ricerca di un enorme elenco di parole
- 16. query multimatch nidificata ricerca elastica
- 17. ricerca elastica frase esatta corrispondente
- 18. ricerca elastica numero ottimale di master
- 19. Elenco di parole gratuito da utilizzare a livello di programmazione?
- 20. Come reimpostare le parole di arresto in MYSQL?
- 21. Sfumatura di ricerca elastica in stringa_questazione
- 22. Ricerca elastica multi_match prefisso cross_fields
- 23. Come suggerire (completamento automatico) la prossima parola nella ricerca elastica?
- 24. Come impostare il campo _id per la ricerca elastica utilizzando i dati di primavera
- 25. Utilizzare più parole nella stringa di input di ricerca fullText
- 26. Algoritmo di ricerca di parole
- 27. modo più veloce per rimuovere parole di arresto in Python
- 28. MongoDB Ricerca di testo E più parole di ricerca
- 29. serializza la query dalla ricerca elastica del client Nest 2.3
- 30. Ricerca elastica - integrazione con l'applicazione web java
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. –