So che è possibile trovare i termini più utilizzati in un indice con l'utilizzo di faccette.Come trovare le frasi più usate in elasticsearch?
Ad esempio, su seguenti ingressi:
"A B C"
"AA BB CC"
"A AA B BB"
"AA B"
termine sfaccettatura restituisce questo:
B:3
AA:3
A:2
BB:2
CC:1
C:1
ma mi chiedo che sia possibile elencare seguenti:
AA B:2
A B:1
BB CC:1
....etc...
E` esiste una funzione in ElasticSearch?
Forse prova a definire un analizzatore personalizzato sul campo che utilizza l'analizzatore 'shingle'. Questo creerà i token combinando le parole (come si sta chiedendo). Puoi quindi provare a vedere se il facet restituirà i conteggi su questi token combinati. Hai un [guarda i documenti sul filtro token shingle] (http://www.elasticsearch.org/guide/reference/index-modules/analysis/shingle-tokenfilter/) – ramseykhalaf
Grazie, potrebbe funzionare. Facets restituisce i token, quindi molto probabilmente restituirà anche questi phrase_tokens. Ma questo non è applicabile per gli indici esistenti e questo aumenterà le dimensioni del file troppo, giusto ?. Ho bisogno di questa funzione per 5 GB di dati ogni giorno. E dopo quel giorno non ne avrò più bisogno. Quindi, suppongo che la cosa migliore sia indicizzare 5 GB di dati alla fine di ogni giorno, archiviare i risultati delle faccette e quindi eliminare i nuovi dati dell'indice. (Andrà avanti in loop) Qualche altra opzione? – shyos
Credo che la risposta sia disponibile su http://stackoverflow.com/questions/39380463/get-top-100-most-used-three-word-phrases-in-all-documents – AlexG